Exemplo n.º 1
0
 def test_results_downloads(self):
     for sort in ('', 'downloads', 'created'):
         r = self.client.get(urlparams(self.url, sort=sort))
         dls = pq(r.content)('.item .downloads')
         eq_(dls.text().split()[0],
             numberfmt(self.webapp.weekly_downloads),
             'Missing downloads for %s' % sort)
Exemplo n.º 2
0
 def check_followers_count(self, sort, column):
     # Checks that we show the correct type/number of followers.
     r = self.client.get(urlparams(self.url, sort=sort))
     items = pq(r.content)('.primary .item')
     for idx, c in enumerate(r.context['pager'].object_list):
         eq_(items.eq(idx).find('.followers').text().split()[0],
             numberfmt(getattr(c, column)))
Exemplo n.º 3
0
 def check_followers_count(self, sort, column):
     # Checks that we show the correct type/number of followers.
     r = self.client.get(urlparams(self.url, sort=sort))
     items = pq(r.content)('.primary .item')
     for idx, c in enumerate(r.context['pager'].object_list):
         eq_(items.eq(idx).find('.followers').text().split()[0],
             numberfmt(getattr(c, column)))
Exemplo n.º 4
0
 def test_review_link(self):
     # We have reviews.
     self.enable_waffle()
     r = self.client.get(self.detail)
     rating = int(round(self.webapp.average_rating))
     total = numberfmt(self.webapp.total_reviews)
     eq_(pq(r.content)('.average-rating').text(),
         'Rated %s out of 5 stars %s reviews' % (rating, total))
Exemplo n.º 5
0
 def test_downloads(self):
     doc = pq(self.client.get(self.url).content)('table')
     eq_(doc('.adu').length, 0)
     eq_(doc('.downloads td').text(),
         numberfmt(self.webapp.weekly_downloads))
     self.webapp.update(weekly_downloads=0)
     doc = pq(self.client.get(self.url).content)('table')
     eq_(doc('.downloads').length, 0)
Exemplo n.º 6
0
 def test_downloads(self):
     doc = pq(self.client.get(self.url).content)('table')
     eq_(doc('.adu').length, 0)
     eq_(doc('.downloads td').text(),
         numberfmt(self.webapp.weekly_downloads))
     self.webapp.update(weekly_downloads=0)
     doc = pq(self.client.get(self.url).content)('table')
     eq_(doc('.downloads').length, 0)
Exemplo n.º 7
0
 def test_users_adu_unit(self):
     doc = pq(self.client.get(urlparams(self.url, sort='users')).content)
     for item in doc('.items .item'):
         item = pq(item)
         addon_id = item('.install').attr('data-addon')
         adu = Addon.objects.get(id=addon_id).average_daily_users
         eq_(item('.adu').text(),
             '%s user%s' % (numberfmt(adu), 's' if adu != 1 else ''))
Exemplo n.º 8
0
 def test_review_link_plural(self):
     # We have reviews.
     self.enable_waffle()
     self.webapp.update(total_reviews=2)
     r = self.client.get(self.detail)
     total = numberfmt(self.webapp.total_reviews)
     eq_(pq(r.content)('.average-rating').text(),
         'Rated 4 out of 5 stars 2 reviews')
Exemplo n.º 9
0
 def test_review_link(self):
     # We have reviews.
     self.enable_waffle()
     r = self.client.get(self.detail)
     rating = int(round(self.webapp.average_rating))
     total = numberfmt(self.webapp.total_reviews)
     eq_(
         pq(r.content)('.average-rating').text(),
         'Rated %s out of 5 stars %s reviews' % (rating, total))
Exemplo n.º 10
0
 def test_popular_adu_unit(self):
     doc = pq(self.client.get(urlparams(self.url, sort='popular')).content)
     for item in doc('.items .item'):
         item = pq(item)
         addon_id = item('.install').attr('data-addon')
         adu = Addon.objects.get(id=addon_id).weekly_downloads
         eq_(item('.adu').text(),
             '%s weekly download%s' % (numberfmt(adu),
                                       's' if adu != 1 else ''))
Exemplo n.º 11
0
 def test_paid(self):
     r = self.client.get(self.url)
     eq_(r.status_code, 200)
     doc = pq(r.content)
     eq_(list(r.context['paid']), self.paid)
     for idx, element in enumerate(doc('#top-paid .item')):
         item = pq(element)
         webapp = self.paid[idx]
         eq_(item.find('.price').text(), webapp.premium.get_price_locale())
         eq_(item.find('.downloads').split()[0],
             numberfmt(webapp.weekly_downloads))
Exemplo n.º 12
0
    def test_downloads_stats_public(self):
        self.addon.update(public_stats=True, type=amo.ADDON_SEARCH)
        eq_(self.addon.show_adu(), False)
        dls = self.get_pq()('#weekly-downloads')

        # Check formatted count.
        eq_(dls.text().split()[0], numberfmt(self.addon.weekly_downloads))

        # Check if we hide link when there are no weekly downloads.
        self.addon.update(weekly_downloads=0)
        eq_(self.get_pq()('#weekly-downloads').length, 0)
Exemplo n.º 13
0
    def test_adu_stats_public(self):
        self.addon.update(public_stats=True)
        eq_(self.addon.show_adu(), True)
        adu = self.get_pq()('#daily-users')

        # Check formatted count.
        eq_(adu.text().split()[0], numberfmt(self.addon.average_daily_users))

        # Check if we hide link when there are no ADU.
        self.addon.update(average_daily_users=0)
        eq_(self.get_pq()('#daily-users').length, 0)
Exemplo n.º 14
0
    def test_downloads_stats_public(self):
        self.addon.update(public_stats=True, type=amo.ADDON_SEARCH)
        eq_(self.addon.show_adu(), False)
        dls = self.get_pq()('#weekly-downloads')

        # Check formatted count.
        eq_(dls.text().split()[0], numberfmt(self.addon.weekly_downloads))

        # Check if we hide link when there are no weekly downloads.
        self.addon.update(weekly_downloads=0)
        eq_(self.get_pq()('#weekly-downloads').length, 0)
Exemplo n.º 15
0
    def test_adu_stats_public(self):
        self.addon.update(public_stats=True)
        eq_(self.addon.show_adu(), True)
        adu = self.get_pq()('#daily-users')

        # Check formatted count.
        eq_(adu.text().split()[0], numberfmt(self.addon.average_daily_users))

        # Check if we hide link when there are no ADU.
        self.addon.update(average_daily_users=0)
        eq_(self.get_pq()('#daily-users').length, 0)
Exemplo n.º 16
0
 def test_free(self):
     r = self.client.get(self.url)
     eq_(r.status_code, 200)
     doc = pq(r.content)
     eq_(list(r.context['free']), self.free)
     for idx, element in enumerate(doc('#top-free .item')):
         item = pq(element)
         webapp = self.free[idx]
         eq_(item.find('.price').text(), 'FREE')
         eq_(item.find('.downloads').split()[0],
             numberfmt(webapp.weekly_downloads))
Exemplo n.º 17
0
 def test_free(self):
     r = self.client.get(self.url)
     eq_(r.status_code, 200)
     doc = pq(r.content)
     eq_(list(r.context['free']), self.free)
     for idx, element in enumerate(doc('#top-free .item')):
         item = pq(element)
         webapp = self.free[idx]
         eq_(item.find('.price').text(), 'FREE')
         eq_(item.find('.downloads').split()[0],
             numberfmt(webapp.weekly_downloads))
Exemplo n.º 18
0
 def test_paid(self):
     r = self.client.get(self.url)
     eq_(r.status_code, 200)
     doc = pq(r.content)
     eq_(list(r.context['paid']), self.paid)
     for idx, element in enumerate(doc('#top-paid .item')):
         item = pq(element)
         webapp = self.paid[idx]
         eq_(item.find('.price').text(), webapp.premium.get_price_locale())
         eq_(item.find('.downloads').split()[0],
             numberfmt(webapp.weekly_downloads))
Exemplo n.º 19
0
 def test_upsell(self):
     eq_(self.get_pq()('#upsell').length, 0)
     premie = amo.tests.app_factory(manifest_url='http://omg.org/yes')
     AddonUpsell.objects.create(free=self.webapp, premium=premie,
                                text='XXX')
     upsell = self.get_pq()('#upsell')
     eq_(upsell.length, 1)
     eq_(upsell.find('.upsell').find('.name').text(), unicode(premie.name))
     eq_(upsell.find('.icon').attr('src'), premie.get_icon_url(64))
     eq_(upsell.find('.special').attr('href'),
         premie.get_url_path() + '?src=mkt-detail-upsell')
     eq_(upsell.find('.price').text(), premie.get_price())
     eq_(upsell.find('.downloads').text().split(' ')[0],
         numberfmt(premie.weekly_downloads))
     eq_(upsell.find('.prose').text(), 'XXX')
Exemplo n.º 20
0
 def test_upsell(self):
     eq_(self.get_pq()('#upsell').length, 0)
     premie = amo.tests.app_factory(manifest_url='http://omg.org/yes')
     AddonUpsell.objects.create(free=self.webapp, premium=premie,
                                text='XXX')
     upsell = self.get_pq()('#upsell')
     eq_(upsell.length, 1)
     eq_(upsell.find('.upsell').find('.name').text(), unicode(premie.name))
     eq_(upsell.find('.icon').attr('src'), premie.get_icon_url(64))
     eq_(upsell.find('.special').attr('href'),
         premie.get_url_path() + '?src=mkt-detail-upsell')
     eq_(upsell.find('.price').text(), premie.get_price())
     eq_(upsell.find('.downloads').text().split(' ')[0],
         numberfmt(premie.weekly_downloads))
     eq_(upsell.find('.prose').text(), 'XXX')
Exemplo n.º 21
0
 def test_extension_adu(self):
     doc = pq(self.client.get(self.url).content)('table')
     eq_(doc('.adu td').text(), numberfmt(self.ext.average_daily_users))
     self.ext.update(average_daily_users=0)
     doc = pq(self.client.get(self.url).content)('table')
     eq_(doc('.adu').length, 0)
Exemplo n.º 22
0
 def test_listing_downloads(self):
     r, doc = self.get_res()
     dls = doc('.item').find('details .vital.downloads')
     eq_(dls.text().split()[0], numberfmt(self.webapp.weekly_downloads))
Exemplo n.º 23
0
 def test_downloads(self):
     dls = self.get_pq()('#weekly-downloads')
     eq_(dls.find('a').length, 0)
     eq_(dls.text().split()[0], numberfmt(self.webapp.weekly_downloads))
     self.webapp.update(weekly_downloads=0)
     eq_(self.get_pq()('#weekly-downloads').length, 0)
Exemplo n.º 24
0
 def test_downloads(self):
     dls = self.get_pq()('#weekly-downloads')
     eq_(dls.find('a').length, 0)
     eq_(dls.text().split()[0], numberfmt(self.webapp.weekly_downloads))
     self.webapp.update(weekly_downloads=0)
     eq_(self.get_pq()('#weekly-downloads').length, 0)
Exemplo n.º 25
0
def weekly_downloads(product):
    cnt = product.weekly_downloads
    return ngettext('{0} weekly download', '{0} weekly downloads',
                    cnt).format(numberfmt(cnt))
Exemplo n.º 26
0
 def test_mobile_results_downloads(self):
     for sort in ('', 'downloads', 'rating', 'created'):
         r = self.client.get(urlparams(self.url, sort=sort))
         dls = pq(r.content)('#content .item .vital.downloads')
         eq_(dls.text().split()[0], numberfmt(self.webapp.weekly_downloads))
Exemplo n.º 27
0
 def test_listing_downloads(self):
     r, doc = self.get_res()
     dls = doc('.item').find('details .vital.downloads')
     eq_(dls.text().split()[0], numberfmt(self.webapp.weekly_downloads))
Exemplo n.º 28
0
 def test_extension_adu(self):
     doc = pq(self.client.get(self.url).content)('table')
     eq_(doc('.adu td').text(), numberfmt(self.ext.average_daily_users))
     self.ext.update(average_daily_users=0)
     doc = pq(self.client.get(self.url).content)('table')
     eq_(doc('.adu').length, 0)
Exemplo n.º 29
0
 def test_mobile_results_downloads(self):
     for sort in ('', 'downloads', 'rating', 'created'):
         r = self.client.get(urlparams(self.url, sort=sort))
         dls = pq(r.content)('#content .item .vital.downloads')
         eq_(dls.text().split()[0], numberfmt(self.webapp.weekly_downloads))
Exemplo n.º 30
0
def weekly_downloads(product):
    cnt = product.weekly_downloads
    return ngettext('{0} weekly download', '{0} weekly downloads',
                    cnt).format(numberfmt(cnt))