def test_impala_reviews_link(self): a = Addon(average_rating=4, total_reviews=37, id=1, type=1, slug='xx') s = self.render('{{ impala_reviews_link(myaddon) }}', {'myaddon': a}) eq_(pq(s)('a').text(), '(37)') # without collection uuid eq_(pq(s)('a').attr('href'), '/en-US/firefox/addon/xx/#reviews') # with collection uuid myuuid = 'f19a8822-1ee3-4145-9440-0a3640201fe6' s = self.render('{{ impala_reviews_link(myaddon, myuuid) }}', { 'myaddon': a, 'myuuid': myuuid }) eq_( pq(s)('a').attr('href'), '/en-US/firefox/addon/xx/?collection_uuid=%s#reviews' % myuuid) z = Addon(average_rating=0, total_reviews=0, id=1, type=1, slug='xx') s = self.render('{{ impala_reviews_link(myaddon) }}', {'myaddon': z}) eq_(pq(s)('b').text(), 'Not yet rated') # with link u = reverse('addons.reviews.list', args=['xx']) s = self.render( '{{ impala_reviews_link(myaddon, link_to_list=True) }}', {'myaddon': a}) eq_(pq(s)('a').attr('href'), u)
def test_reviews_link(): a = Addon(average_rating=4, total_reviews=37, id=1, type=1, slug='xx') s = render('{{ reviews_link(myaddon) }}', {'myaddon': a}) eq_(PyQuery(s)('strong').text(), '37 reviews') # without collection uuid eq_(PyQuery(s)('a').attr('href'), '/addon/xx/#reviews') # with collection uuid myuuid = 'f19a8822-1ee3-4145-9440-0a3640201fe6' s = render('{{ reviews_link(myaddon, myuuid) }}', { 'myaddon': a, 'myuuid': myuuid }) eq_( PyQuery(s)('a').attr('href'), '/addon/xx/?collection_uuid=%s#reviews' % myuuid) z = Addon(average_rating=0, total_reviews=0, id=1, type=1, slug='xx') s = render('{{ reviews_link(myaddon) }}', {'myaddon': z}) eq_(PyQuery(s)('strong').text(), 'Not yet rated') # with link u = reverse('reviews.list', args=['xx']) s = render('{{ reviews_link(myaddon, link_to_list=True) }}', {'myaddon': a}) eq_(PyQuery(s)('a').attr('href'), u)
def test_generate_webapp_fn_partial_non_ascii(self): f = File() f.version = Version(version='0.1.7') f.version.compatible_apps = (amo.FIREFOX, ) f.version.addon = Addon(app_slug=u'myapp フォクすけ といっしょ', type=amo.ADDON_WEBAPP) eq_(f.generate_filename(), 'myapp-0.1.7.webapp')
def test_refund_permissions_url(self, _call): """ `paypal_refund_permission_url` returns an URL for PayPal's permissions request service containing the token PayPal gives us. """ _call.return_value = {'token': 'foo'} addon = Addon(type=amo.ADDON_EXTENSION, slug='foo') assert 'foo' in paypal.refund_permission_url(addon)
def test_show_beta_with_beta_version(self, beta_mock): beta_mock.return_value = object() # Fake current_beta_version to return something truthy. a = Addon(status=amo.STATUS_PUBLIC) assert a.show_beta # We have a beta version but status has to be public. a.status = amo.STATUS_UNREVIEWED assert not a.show_beta
def test_version_status(): addon = Addon() version = Version() version.all_files = [File(status=amo.STATUS_PUBLIC), File(status=amo.STATUS_UNREVIEWED)] eq_(u'Fully Reviewed,Awaiting Review', helpers.version_status(addon, version)) version.all_files = [File(status=amo.STATUS_UNREVIEWED)] eq_(u'Awaiting Review', helpers.version_status(addon, version))
def test_mobile_reviews_link(): s = lambda a: PyQuery( render('{{ mobile_reviews_link(myaddon) }}', {'myaddon': a})) a = Addon(total_reviews=0, id=1, type=1, slug='xx') doc = s(a) eq_(doc('a').attr('href'), reverse('reviews.add', args=['xx'])) u = reverse('reviews.list', args=['xx']) a = Addon(average_rating=4, total_reviews=37, id=1, type=1, slug='xx') doc = s(a) eq_(doc('a').attr('href'), u) eq_(doc('a').text(), 'Rated 4 out of 5 stars See All 37 Reviews') a = Addon(average_rating=4, total_reviews=1, id=1, type=1, slug='xx') doc = s(a) doc.remove('div') eq_(doc('a').attr('href'), u) eq_(doc('a').text(), 'See All Reviews')
def test_is_unreviewed(self): """Test if add-on is unreviewed or not""" # public add-on a = Addon.objects.get(pk=3615) assert not a.is_unreviewed(), 'public add-on: is_unreviewed=False' # unreviewed add-on a = Addon(status=amo.STATUS_UNREVIEWED) assert a.is_unreviewed(), 'sandboxed add-on: is_unreviewed=True' a.status = amo.STATUS_PENDING assert a.is_unreviewed(), 'pending add-on: is_unreviewed=True'
def setUp(self): self.feed = feeds.CategoriesRss() self.u = u'Ελληνικά' self.wut = Translation(localized_string=self.u, locale='el') self.feed.request = mock.Mock() self.feed.request.APP.pretty = self.u self.category = Category(name=self.u) self.addon = Addon(name=self.u, id=2, type=1, slug='xx') self.addon._current_version = Version(version='v%s' % self.u)
def test_support_addon(self): a = Addon(id=12, type=1) eq_(support_addon(a), '') a.wants_contributions = a.paypal_id = True a.status = amo.STATUS_PUBLIC eq_(PyQuery(support_addon(a))('a').text(), 'Support this add-on') a.suggested_amount = '12' doc = PyQuery(support_addon(a)) eq_(doc('.contribute').text(), 'Support this add-on: Contribute $12.00')
def test_l10n_menu(): # No remove_locale_url provided. menu = helpers.l10n_menu({}) assert 'data-rm-locale=""' in menu, menu # Specific remove_locale_url provided (eg for user). menu = helpers.l10n_menu({}, remove_locale_url='/some/url/') assert 'data-rm-locale="/some/url/"' in menu, menu # Use the remove_locale_url taken from the addon in the context. menu = helpers.l10n_menu({'addon': Addon()}, remove_locale_url='some/url/') assert 'data-rm-locale="/developers/addon/None/rmlocale"' in menu, menu
def create_file(self, **kwargs): addon = Addon() addon.save() ver = Version(version='0.1') ver.addon = addon ver.save() f = File(**kwargs) f.version = ver f.save() return f
def test_flags(self): ctx = {'APP': amo.FIREFOX, 'LANG': 'en-US'} # unreviewed a = Addon(status=amo.STATUS_UNREVIEWED) eq_(flag(ctx, a), '<h5 class="flag">Not Reviewed</h5>') # recommended featured = Addon.objects.get(pk=1003) eq_(flag(ctx, featured), '<h5 class="flag">Featured</h5>') # category featured featured = Addon.objects.get(pk=1001) eq_(flag(ctx, featured), '<h5 class="flag">Featured</h5>')
def test_statusflags(self): ctx = {'APP': amo.FIREFOX, 'LANG': 'en-US'} # unreviewed a = Addon(status=amo.STATUS_UNREVIEWED) eq_(statusflags(ctx, a), 'unreviewed') # recommended featured = Addon.objects.get(pk=1003) eq_(statusflags(ctx, featured), 'featuredaddon') # category featured featured = Addon.objects.get(pk=1001) eq_(statusflags(ctx, featured), 'featuredaddon')
def test_version_status(): addon = Addon() version = Version() version.all_files = [File(status=amo.STATUS_PUBLIC), File(status=amo.STATUS_DELETED)] eq_(u'Fully Reviewed,Deleted', helpers.version_status(addon, version)) version.all_files = [File(status=amo.STATUS_UNREVIEWED)] eq_(u'Awaiting Preliminary Review', helpers.version_status(addon, version)) with patch.object(settings, 'MARKETPLACE', True): version.all_files = [File(status=amo.STATUS_PENDING)] eq_(u'Pending approval', helpers.version_status(addon, version)) version.deleted = True eq_(u'Deleted', helpers.version_status(addon, version))
def create_addon(self, license=None): data = self.cleaned_data a = Addon(guid=data['guid'], name=data['name'], type=data['type'], status=amo.STATUS_UNREVIEWED, homepage=data['homepage'], summary=data['summary']) a.save() AddonUser(addon=a, user=self.request.amo_user).save() self.addon = a # Save Version, attach License self.create_version(license=license) amo.log(amo.LOG.CREATE_ADDON, a) log.info('Addon %d saved' % a.id) return a
def test_takes_contributions(self): a = Addon(status=amo.STATUS_PUBLIC, wants_contributions=True, paypal_id='$$') assert a.takes_contributions a.status = amo.STATUS_UNREVIEWED assert not a.takes_contributions a.status = amo.STATUS_PUBLIC a.wants_contributions = False assert not a.takes_contributions a.wants_contributions = True a.paypal_id = None assert not a.takes_contributions a.charity_id = 12 assert a.takes_contributions
def setUp(self): self.addon = Addon(type=amo.ADDON_EXTENSION, slug='foo')
def test_generate_filename_ja(self): f = File() f.version = Version(version='0.1.7') f.version.addon = Addon(name=u' フォクすけ といっしょ') eq_(f.generate_filename(), 'none-0.1.7.webapp')
def test_generate_filename_ja(self): f = File() f.version = Version(version='0.1.7') f.version.compatible_apps = (amo.FIREFOX, ) f.version.addon = Addon(name=u' フォクすけ といっしょ') eq_(f.generate_filename(), 'addon-0.1.7-fx.xpi')
def setUp(self): self.addon = Addon()
def test_show_beta(self): # Addon.current_beta_version will be empty, so show_beta is False. a = Addon(status=amo.STATUS_PUBLIC) assert not a.show_beta
def test_generate_webapp_fn_non_ascii(self): f = File() f.version = Version(version='0.1.7') f.version.addon = Addon(app_slug=u' フォクすけ といっしょ', type=amo.ADDON_WEBAPP) eq_(f.generate_filename(), 'app-0.1.7.webapp')