Beispiel #1
0
 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')
Beispiel #2
0
 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()])
Beispiel #3
0
 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')
Beispiel #4
0
 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)
Beispiel #5
0
 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)
Beispiel #6
0
 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')
Beispiel #7
0
 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)
Beispiel #8
0
 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)
Beispiel #9
0
 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')
Beispiel #10
0
 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)
Beispiel #11
0
    def test_xss(self):
        nasty = '<script>'
        escaped = '&lt;script&gt;'
        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)
Beispiel #12
0
    def test_xss(self):
        nasty = '<script>'
        escaped = '&lt;script&gt;'
        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)
Beispiel #13
0
 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
Beispiel #14
0
 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)
Beispiel #15
0
 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)
Beispiel #16
0
 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)
Beispiel #17
0
 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