Ejemplo n.º 1
0
def test_review_scenario(mock_request, addon_with_files, review_action,
                         addon_status, file_status, review_class, review_type,
                         final_addon_status, final_file_status):
    # Setup the addon and files.
    addon = addon_with_files
    addon.update(status=addon_status)
    version = addon.versions.get()
    version.files.filter(
        status=amo.STATUS_AWAITING_REVIEW).update(status=file_status)
    # Get the review helper.
    helper = ReviewHelper(mock_request, addon, version)
    assert isinstance(helper.handler, review_class)
    helper.set_review_handler(mock_request)
    assert helper.handler.review_type == review_type
    helper.set_data({'comments': 'testing review scenarios'})
    # Run the action (process_public, process_sandbox).
    try:
        getattr(helper.handler, review_action)()
    except AssertionError:
        # Some scenarios are expected to fail. We don't need to check it here,
        # the scenario has the final statuses, and those are the ones we want
        # to check.
        pass
    # Check the final statuses.
    assert addon.reload().status == final_addon_status
    assert list(version.files.values_list('status', flat=True)) == (
        [amo.STATUS_DISABLED, final_file_status, final_file_status])
Ejemplo n.º 2
0
def test_review_scenario(mock_request, addon_with_files, review_action,
                         addon_status, file_status, review_class, review_type,
                         final_addon_status, final_file_status):
    # Setup the addon and files.
    addon = addon_with_files
    addon.update(status=addon_status)
    version = addon.versions.get()
    version.files.filter(status=amo.STATUS_AWAITING_REVIEW).update(
        status=file_status)
    # Get the review helper.
    helper = ReviewHelper(mock_request, addon, version)
    assert isinstance(helper.handler, review_class)
    helper.set_review_handler(mock_request)
    assert helper.handler.review_type == review_type
    helper.set_data({'comments': 'testing review scenarios'})
    # Run the action (process_public, process_sandbox).
    try:
        getattr(helper.handler, review_action)()
    except AssertionError:
        # Some scenarios are expected to fail. We don't need to check it here,
        # the scenario has the final statuses, and those are the ones we want
        # to check.
        pass
    # Check the final statuses.
    assert addon.reload().status == final_addon_status
    assert list(version.files.values_list('status', flat=True)) == ([
        amo.STATUS_BETA, amo.STATUS_DISABLED, final_file_status,
        final_file_status
    ])
def test_review_scenario(
    mock_request,
    review_action,
    addon_status,
    file_status,
    review_class,
    review_type,
    final_addon_status,
    final_file_status,
):
    # Setup the addon and files.
    addon = addon_factory(
        name='My Addon',
        slug='my-addon',
        status=addon_status,
        file_kw={'status': file_status},
    )
    version = addon.versions.get()
    # Get the review helper.
    helper = ReviewHelper(mock_request, addon, version)
    assert isinstance(helper.handler, review_class)
    helper.set_review_handler(mock_request)
    assert helper.handler.review_type == review_type
    helper.set_data({'comments': 'testing review scenarios'})
    # Run the action (approve_latest_version, reject_latest_version).
    try:
        getattr(helper.handler, review_action)()
    except AssertionError:
        # Some scenarios are expected to fail. We don't need to check it here,
        # the scenario has the final statuses, and those are the ones we want
        # to check.
        pass
    # Check the final statuses.
    assert addon.reload().status == final_addon_status
    assert version.file.reload().status == final_file_status