예제 #1
0
    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)
예제 #2
0
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)
예제 #3
0
 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')
예제 #4
0
 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)
예제 #5
0
    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
예제 #6
0
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))
예제 #7
0
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')
예제 #8
0
    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'
예제 #9
0
    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)
예제 #10
0
    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')
예제 #11
0
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
예제 #12
0
    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
예제 #13
0
    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>')
예제 #14
0
    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')
예제 #15
0
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))
예제 #16
0
파일: forms.py 프로젝트: writefaruq/zamboni
    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
예제 #17
0
    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
예제 #18
0
파일: test.py 프로젝트: superduper/zamboni
 def setUp(self):
     self.addon = Addon(type=amo.ADDON_EXTENSION, slug='foo')
예제 #19
0
 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')
예제 #20
0
 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')
예제 #21
0
 def setUp(self):
     self.addon = Addon()
예제 #22
0
 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
예제 #23
0
 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')