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])
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