Exemple #1
0
    def test_details_page(self):
        # This is a just basic test to make sure the template loads.
        b = badge(save=True)
        a1 = award(description=u'A1 AWARD', badge=b, save=True)

        resp = self.client.get(a1.get_absolute_url(), follow=True)
        eq_(200, resp.status_code)
Exemple #2
0
    def test_l10n_badge(self):
        """Verify the L10n Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        b = badge(
            slug=WIKI_BADGES['l10n-badge']['slug'].format(year=year),
            title=WIKI_BADGES['l10n-badge']['title'].format(year=year),
            description=WIKI_BADGES['l10n-badge']['description'].format(
                year=year),
            save=True)

        # Create 9 approved es revisions.
        d = document(locale='es', save=True)
        for i in range(9):
            revision(creator=u, document=d, is_approved=True, save=True)

        # User should NOT have the badge yet
        assert not b.is_awarded_to(u)

        # Create 1 more approved es revision.
        revision(creator=u, document=d, is_approved=True, save=True)

        # User should have the badge now
        assert b.is_awarded_to(u)
Exemple #3
0
    def test_aoa_badge(self):
        """Verify the KB Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        b = badge(slug=AOA_BADGE['slug'].format(year=year),
                  title=AOA_BADGE['title'].format(year=year),
                  description=AOA_BADGE['description'].format(year=year),
                  save=True)

        # Create 49 replies.
        replies = []
        for i in range(48):
            replies.append(reply(user=u))
        Reply.objects.bulk_create(replies)

        # Create the 49th reply separately so the signals are triggered.
        reply(user=u, save=True)

        # User should NOT have the badge yet.
        assert not b.is_awarded_to(u)

        # Create 1 more reply.
        reply(user=u, save=True)

        # User should have the badge now.
        assert b.is_awarded_to(u)
Exemple #4
0
    def test_aoa_badge(self):
        """Verify the KB Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        b = badge(
            slug=AOA_BADGE['slug'].format(year=year),
            title=AOA_BADGE['title'].format(year=year),
            description=AOA_BADGE['description'].format(year=year),
            save=True)

        # Create 49 replies.
        replies = []
        for i in range(48):
            replies.append(reply(user=u))
        Reply.objects.bulk_create(replies)

        # Create the 49th reply separately so the signals are triggered.
        reply(user=u, save=True)

        # User should NOT have the badge yet.
        assert not b.is_awarded_to(u)

        # Create 1 more reply.
        reply(user=u, save=True)

        # User should have the badge now.
        assert b.is_awarded_to(u)
Exemple #5
0
    def test_answer_badge(self):
        """Verify the Support Forum Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        badge_template = QUESTIONS_BADGES['answer-badge']
        b = badge(
            slug=badge_template['slug'].format(year=year),
            title=badge_template['title'].format(year=year),
            description=badge_template['description'].format(year=year),
            save=True)

        # Create 29 answers.
        q = question(save=True)
        answers = []
        for i in range(28):
            answers.append(answer(question=q, creator=u))
        Answer.objects.bulk_create(answers)

        # Create the 29th answer separately so the signals are triggered.
        answer(creator=u, save=True)

        # User should NOT have the badge yet.
        assert not b.is_awarded_to(u)

        # Create 1 more answer.
        answer(creator=u, save=True)

        # User should have the badge now.
        assert b.is_awarded_to(u)
Exemple #6
0
    def test_kb_badge(self):
        """Verify the KB Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        b = badge(
            slug=WIKI_BADGES['kb-badge']['slug'].format(year=year),
            title=WIKI_BADGES['kb-badge']['title'].format(year=year),
            description=WIKI_BADGES['kb-badge']['description'].format(
                year=year),
            save=True)

        # Create 9 approved en-US revisions.
        d = document(locale=settings.WIKI_DEFAULT_LANGUAGE, save=True)
        revisions = []
        for i in range(8):
            revisions.append(revision(creator=u, document=d, is_approved=True))
        Revision.objects.bulk_create(revisions)

        # Create the 9th revision separately so signals get triggered.
        revision(creator=u, document=d, is_approved=True, save=True)

        # User should NOT have the badge yet
        assert not b.is_awarded_to(u)

        # Create 1 more approved en-US revision.
        revision(creator=u, document=d, is_approved=True, save=True)

        # User should have the badge now
        assert b.is_awarded_to(u)
Exemple #7
0
    def test_l10n_badge(self):
        """Verify the L10n Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        b = badge(slug=WIKI_BADGES['l10n-badge']['slug'].format(year=year),
                  title=WIKI_BADGES['l10n-badge']['title'].format(year=year),
                  description=WIKI_BADGES['l10n-badge']['description'].format(
                      year=year),
                  save=True)

        # Create 9 approved es revisions.
        d = document(locale='es', save=True)
        revisions = []
        for i in range(8):
            revisions.append(revision(creator=u, document=d, is_approved=True))
        Revision.objects.bulk_create(revisions)

        # Create the 9th revision separately so signals get triggered.
        revision(creator=u, document=d, is_approved=True, save=True)

        # User should NOT have the badge yet
        assert not b.is_awarded_to(u)

        # Create 1 more approved es revision.
        revision(creator=u, document=d, is_approved=True, save=True)

        # User should have the badge now
        assert b.is_awarded_to(u)
Exemple #8
0
 def test_badges_listed(self):
     """Verify that awarded badges appear on the profile page."""
     badge_title = 'awesomesauce badge'
     b = badge(title=badge_title, save=True)
     u = profile().user
     award(user=u, badge=b, save=True)
     r = self.client.get(reverse('users.profile', args=[u.username]))
     assert badge_title in r.content
 def test_badges_listed(self):
     """Verify that awarded badges appear on the profile page."""
     badge_title = 'awesomesauce badge'
     b = badge(title=badge_title, save=True)
     u = profile().user
     award(user=u, badge=b, save=True)
     r = self.client.get(reverse('users.profile', args=[u.username]))
     assert badge_title in r.content
Exemple #10
0
    def test_list_with_awards(self):
        b = badge(save=True)
        a1 = award(description=u'A1 AWARD', badge=b, save=True)
        a2 = award(description=u'A2 AWARD', badge=b, save=True)
        a3 = award(description=u'A3 AWARD', badge=b, save=True)

        resp = self.client.get(reverse('badger.awards_list'), follow=True)
        eq_(200, resp.status_code)
        self.assertContains(resp, a1.user.username)
        self.assertContains(resp, a1.get_absolute_url())
        self.assertContains(resp, a2.user.username)
        self.assertContains(resp, a2.get_absolute_url())
        self.assertContains(resp, a3.user.username)
        self.assertContains(resp, a3.get_absolute_url())
Exemple #11
0
    def test_notification(self):
        # Note: Need to do this import here so the
        # notify_award_recipient function handles the
        # badge_was_awarded signal. This works fine in production
        # because badges gets loaded by django-badger in startup.
        from kitsune.kbadge import badges  # noqa

        new_badge = badge(save=True)

        # Check the mail queue first.
        eq_(0, len(mail.outbox))

        # Create an award and save it. This triggers the notification.
        award(description=u'yay!', badge=new_badge, save=True)

        eq_(1, len(mail.outbox))
Exemple #12
0
    def test_aoa_badge(self):
        """Verify the KB Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        b = badge(
            slug=AOA_BADGE['slug'].format(year=year),
            title=AOA_BADGE['title'].format(year=year),
            description=AOA_BADGE['description'].format(year=year),
            save=True)

        # Create 49 replies.
        for i in range(49):
            reply(user=u, save=True)

        # User should NOT have the badge yet.
        assert not b.is_awarded_to(u)

        # Create 1 more reply.
        reply(user=u, save=True)

        # User should have the badge now.
        assert b.is_awarded_to(u)
Exemple #13
0
    def test_answer_badge(self):
        """Verify the Support Forum Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        badge_template = QUESTIONS_BADGES['answer-badge']
        b = badge(
            slug=badge_template['slug'].format(year=year),
            title=badge_template['title'].format(year=year),
            description=badge_template['description'].format(year=year),
            save=True)

        # Create 29 answer.
        for i in range(29):
            answer(creator=u, save=True)

        # User should NOT have the badge yet.
        assert not b.is_awarded_to(u)

        # Create 1 more answer.
        answer(creator=u, save=True)

        # User should have the badge now.
        assert b.is_awarded_to(u)
Exemple #14
0
    def test_aoa_badge(self):
        """Verify the KB Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        b = badge(
            slug=AOA_BADGE["slug"].format(year=year),
            title=AOA_BADGE["title"].format(year=year),
            description=AOA_BADGE["description"].format(year=year),
            save=True,
        )

        # Create 49 replies.
        for i in range(49):
            reply(user=u, save=True)

        # User should NOT have the badge yet.
        assert not b.is_awarded_to(u)

        # Create 1 more reply.
        reply(user=u, save=True)

        # User should have the badge now.
        assert b.is_awarded_to(u)
Exemple #15
0
    def test_kb_badge(self):
        """Verify the KB Badge is awarded properly."""
        # Create the user and badge.
        year = date.today().year
        u = profile().user
        b = badge(slug=WIKI_BADGES['kb-badge']['slug'].format(year=year),
                  title=WIKI_BADGES['kb-badge']['title'].format(year=year),
                  description=WIKI_BADGES['kb-badge']['description'].format(
                      year=year),
                  save=True)

        # Create 9 approved en-US revisions.
        d = document(locale=settings.WIKI_DEFAULT_LANGUAGE, save=True)
        for i in range(9):
            revision(creator=u, document=d, is_approved=True, save=True)

        # User should NOT have the badge yet
        assert not b.is_awarded_to(u)

        # Create 1 more approved en-US revision.
        revision(creator=u, document=d, is_approved=True, save=True)

        # User should have the badge now
        assert b.is_awarded_to(u)