def test_is_premium_webapp_foreign(self): self.make_premium(self.webapp) with self.activate('fr'): doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(data['price'], 1.0) eq_(data['priceLocale'], u'1,00\xa0$US')
def test_category(self): c = Category.objects.create(name='test-cat', type=amo.ADDON_WEBAPP) AddonCategory.objects.create(addon=self.webapp, category=c) doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(data['categories'], [str(cat.name) for cat in self.webapp.categories.all()])
def test_reviewers(self): doc = pq(market_button(self.context, self.webapp, 'reviewer')) data = json.loads(doc('a').attr('data-product')) issue = urlparams(reverse('reviewers.receipt.issue', args=[self.webapp.app_slug]), src='foo') eq_(data['recordUrl'], issue)
def test_is_premium_webapp(self): self.make_premium(self.webapp) doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(data['manifestUrl'], self.webapp.manifest_url) eq_(data['price'], 1.0) eq_(data['purchase'], self.webapp.get_purchase_url()) eq_(data['isPurchased'], False)
def test_some_supported_currencies(self, switch_is_active): switch_is_active.return_value = True self.make_premium(self.webapp, currencies=['CAD']) ad = AddonPremium.objects.get(addon=self.webapp) ad.update(currencies=['USD', 'CAD']) doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(json.loads(data['currencies'])['USD'], '$1.00') eq_(json.loads(data['currencies'])['CAD'], 'CA$1.00')
def test_is_webapp(self): doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(data['manifestUrl'], self.webapp.manifest_url) eq_(data['recordUrl'], self.webapp.get_detail_url('record')) eq_(data['preapprovalUrl'], reverse('detail.purchase.preapproval', args=[self.webapp.app_slug])) eq_(data['id'], str(self.webapp.pk)) eq_(data['name'], self.webapp.name)
def test_is_premium_webapp(self): self.make_premium(self.webapp) doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(data['manifestUrl'], self.webapp.manifest_url) eq_(data['price'], 1.0) eq_(data['priceLocale'], '$1.00') eq_(data['purchase'], self.webapp.get_purchase_url()) eq_(data['isPurchased'], False)
def test_is_webapp(self): doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(data['manifestUrl'], self.webapp.manifest_url) eq_(data['recordUrl'], urlparams(self.webapp.get_detail_url('record'), src='foo')) eq_( data['preapprovalUrl'], reverse('detail.purchase.preapproval', args=[self.webapp.app_slug])) eq_(data['id'], str(self.webapp.pk)) eq_(data['name'], self.webapp.name)
def test_xss(self): nasty = '<script>' escaped = '<script>' author = self.webapp.authors.all()[0] author.display_name = nasty author.save() self.webapp.name = nasty self.webapp.save() doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(data['name'], escaped) eq_(data['author'], escaped)
def test_xss(self): nasty = '<script>' escaped = '<script>' author = self.webapp.authors.all()[0] author.display_name = nasty author.save() self.webapp.name = nasty self.webapp.save() Webapp.transformer([self.webapp]) # Transform `listed_authors`, etc. doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(data['name'], escaped) eq_(data['author'], escaped)
def test_default_supported_currencies(self): self.make_premium(self.webapp) doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) assert 'currencies' not in data
def test_is_premium_purchased(self): AddonPurchase.objects.create(user=self.user, addon=self.webapp) self.make_premium(self.webapp) doc = pq(market_button(self.context, self.webapp)) data = json.loads(doc('a').attr('data-product')) eq_(data['isPurchased'], True)
def test_reviewers(self): doc = pq(market_button(self.context, self.webapp, 'reviewer')) data = json.loads(doc('a').attr('data-product')) issue = urlparams(reverse('receipt.issue', args=[self.webapp.app_slug]), src='foo') eq_(data['recordUrl'], issue)