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_NULL).update(status=file_status) # Get the review helper. helper = helpers.ReviewHelper(mock_request, addon, version) assert isinstance(helper.handler, review_class) helper.get_review_type(mock_request, addon, version) assert helper.review_type == review_type helper.set_data({'comments': 'testing review scenarios'}) # Run the action (process_public, process_sandbox, process_preliminary). 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_no_version(self): helper = helpers.ReviewHelper(request=self.request, addon=self.addon, version=None) eq_(helper.review_type, 'pending')
def get_helper(self): return helpers.ReviewHelper(request=self.request, addon=self.addon, version=self.version)