Skip to content
This repository has been archived by the owner on Mar 15, 2018. It is now read-only.

Commit

Permalink
Set reviewed datetime for updated packages (bug 944024)
Browse files Browse the repository at this point in the history
  • Loading branch information
robhudson committed Dec 4, 2013
1 parent aad0dd5 commit e118cc3
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 9 deletions.
37 changes: 29 additions & 8 deletions mkt/reviewers/tests/test_views.py
Expand Up @@ -1578,26 +1578,46 @@ def test_pending_to_reject(self):
self._check_email_body(msg)
self._check_score(amo.REVIEWED_WEBAPP_HOSTED)

def test_multiple_versions_reject_hosted(self):
self.app.update(status=amo.STATUS_PUBLIC)
@mock.patch('mkt.webapps.models.Webapp.set_iarc_storefront_data')
@mock.patch('addons.tasks.index_addons')
@mock.patch('lib.crypto.packaged.sign_app')
@mock.patch('mkt.webapps.models.Webapp.update_supported_locales')
@mock.patch('mkt.webapps.models.Webapp.update_name_from_package_manifest')
def test_packaged_multiple_versions_approve(self, update_name,
update_locales, sign_mock,
index_addons, storefront_mock):
self.app.update(status=amo.STATUS_PUBLIC, is_packaged=True)
self.app.current_version.files.update(status=amo.STATUS_PUBLIC)
new_version = version_factory(addon=self.app)
new_version.files.all().update(status=amo.STATUS_PENDING)
data = {'action': 'reject', 'device_types': '', 'browsers': '',
data = {'action': 'public', 'device_types': '', 'browsers': '',
'comments': 'something'}
data.update(self._attachment_management_form(num=0))
self.post(data)
app = self.get_app()
eq_(app.status, amo.STATUS_REJECTED)
eq_(new_version.files.all()[0].status, amo.STATUS_DISABLED)
self._check_log(amo.LOG.REJECT_VERSION)
new_version.reload()
eq_(app.status, amo.STATUS_PUBLIC)
self.assertCloseToNow(new_version.reviewed)
eq_(new_version.files.all()[0].status, amo.STATUS_PUBLIC)
self._check_log(amo.LOG.APPROVE_VERSION)

eq_(len(mail.outbox), 1)
msg = mail.outbox[0]
self._check_email(msg, 'Submission Update')
self._check_email(msg, 'App Approved')
self._check_email_body(msg)
self._check_score(amo.REVIEWED_WEBAPP_UPDATE)

assert update_name.called
assert update_locales.called
assert sign_mock.called

# It's zero for the view but happens after the transaction commits. If
# this increases we could get tasks being called with stale data.
eq_(index_addons.delay.call_count, 0)

assert storefront_mock.called

def test_multiple_versions_reject_packaged(self):
def test_packaged_multiple_versions_reject(self):
self.app.update(status=amo.STATUS_PUBLIC, is_packaged=True)
self.app.current_version.files.update(status=amo.STATUS_PUBLIC)
new_version = version_factory(addon=self.app)
Expand All @@ -1608,6 +1628,7 @@ def test_multiple_versions_reject_packaged(self):
self.post(data)
app = self.get_app()
eq_(app.status, amo.STATUS_PUBLIC)
eq_(new_version.reviewed, None)
eq_(new_version.files.all()[0].status, amo.STATUS_DISABLED)
self._check_log(amo.LOG.REJECT_VERSION)

Expand Down
7 changes: 6 additions & 1 deletion mkt/reviewers/utils.py
Expand Up @@ -101,8 +101,11 @@ def get_attachments(self):
return files

def set_addon(self, **kw):
"""Alters addon and sets reviewed timestamp on version."""
"""Alters addon using provided kwargs."""
self.addon.update(_signal=False, **kw)

def set_reviewed(self):
"""Sets reviewed timestamp on version."""
self.version.update(_signal=False, reviewed=datetime.now())

def set_files(self, status, files, copy_to_mirror=False,
Expand Down Expand Up @@ -255,6 +258,7 @@ def process_public_waiting(self):
if self.addon.status != amo.STATUS_PUBLIC:
self.set_addon(status=amo.STATUS_PUBLIC_WAITING,
highest_status=amo.STATUS_PUBLIC_WAITING)
self.set_reviewed()

self.log_action(amo.LOG.APPROVE_VERSION_WAITING)
self.notify_email('pending_to_public_waiting',
Expand All @@ -279,6 +283,7 @@ def process_public_immediately(self):
if self.addon.status != amo.STATUS_PUBLIC:
self.set_addon(status=amo.STATUS_PUBLIC,
highest_status=amo.STATUS_PUBLIC)
self.set_reviewed()

# Call update_version, so various other bits of data update.
self.addon.update_version(_signal=False)
Expand Down

0 comments on commit e118cc3

Please sign in to comment.