def test_badges_listed(self): """Verify that awarded badges appear on the profile page.""" badge_title = 'awesomesauce badge' b = BadgeFactory(title=badge_title) u = UserFactory() AwardFactory(user=u, badge=b) r = self.client.get(reverse('users.profile', args=[u.username])) assert badge_title in r.content
def test_list_with_awards(self): b = BadgeFactory() a1 = AwardFactory(description=u'A1 AWARD', badge=b) a2 = AwardFactory(description=u'A2 AWARD', badge=b) a3 = AwardFactory(description=u'A3 AWARD', badge=b) resp = self.client.get(reverse('kbadge.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())
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 kitsune.kbadge in startup. from kitsune.kbadge import badges # noqa new_badge = BadgeFactory() # Check the mail queue first. eq_(0, len(mail.outbox)) # Create an award and save it. This triggers the notification. AwardFactory(description="yay!", badge=new_badge) eq_(1, len(mail.outbox))
def test_details_page(self): # This is a just basic test to make sure the template loads. a1 = AwardFactory(description=u'A1 AWARD') resp = self.client.get(a1.get_absolute_url(), follow=True) eq_(200, resp.status_code)