def test_single_tag_multiple_users(self): user1 = UserF(username="******") person1 = Person(user=user1) person1.save() user2 = UserF(username="******") person2 = Person(user=user2) person2.save() tag_category = TagCategory(name='Test Category', slug='staff-directory-test-category') tag_category.save() tags = [] tagged_item = add_tags(person1, 'TagA', 'staff-directory-test-category', user1, 'person') tagged_item = add_tags(person2, 'TagA', 'staff-directory-test-category', user1, 'person') tags.append(tagged_item.tag.slug) emails = _get_emails_for_tag(tags) self.assertTrue(len(emails) == 2) self.assertIn(user1.email, emails) self.assertIn(user2.email, emails)
def test_multiple_tags_multiple_users(self): user1 = UserF(username="******") person1 = Person(user=user1) person1.save() user2 = UserF(username="******") person2 = Person(user=user2) person2.save() user3 = UserF(username="******") person3 = Person(user=user3) person3.save() tag_category = TagCategory(name='Test Category', slug='staff-directory-test-category') tag_category.save() tags = [] tagged_item = add_tags(person1, 'TagA', 'staff-directory-test-category', user1, 'person') tagged_item = add_tags(person2, 'TagA', 'staff-directory-test-category', user1, 'person') tags.append(tagged_item.tag.slug) tagged_item = add_tags(person2, 'TagB', 'staff-directory-test-category', user1, 'person') tagged_item = add_tags(person3, 'TagB', 'staff-directory-test-category', user2, 'person') tags.append(tagged_item.tag.slug) emails = _get_emails_for_tag(tags) self.assertTrue(len(emails) == 1) self.assertIn(user2.email, emails)
def random_tag_category(self): start = ''.join(random.choice(string.lowercase) for _ in range(12)) end = ''.join(random.choice(string.lowercase) for _ in range(12)) name = '%s %s' % (start, end) slug = '%s-%s' % (start, end) tag_category = TagCategory(name=name, slug=slug) tag_category.save() return tag_category
def test_create_tags_for_person(self): user = UserF(username="******") person = Person(user=user) person.save() tag_category = TagCategory(name='Test Category', slug='staff-directory-test-category') tag_category.save() tagged_item = add_tags(person, 'TagA', 'staff-directory-test-category', user, 'person') self.assertEqual(1, person.tags.count())
def test_single_tag_single_user(self): user = UserF(username="******") person = Person(user=user) person.save() tag_category = TagCategory(name='Test Category', slug='staff-directory-test-category') tag_category.save() tags = [] tagged_item = add_tags(person, 'TagA', 'staff-directory-test-category', user, 'person') tags.append(tagged_item.tag.slug) emails = _get_emails_for_tag(tags) self.assertTrue(len(emails) == 1) self.assertIn(user.email, emails)
def test_profile_page_with_removed_tagger(self): """ Tests the profile page appears with no errors. """ person = Person.objects.all()[1] user = get_user_model()(first_name="Baba", last_name="O'Reilly") user.save() tag_category = TagCategory(name='Test Category', slug='staff-directory-test-category') tag_category.save() add_tags(person, 'TagA', 'staff-directory-test-category', user, 'person') resp = self.client.get(reverse('staff_directory:person', args=(person.stub,))) self.assertContains(resp, person.full_name, status_code=200)
def test_single_tag_user_profile(self): user = UserF(username="******") user.set_password("x") user.save() person = Person(user=user) person.stub = "jack" person.save() resp1 = self.client.login(username="******", password="******") self.assertTrue(resp1) tag_category = TagCategory(name='Test Category', slug='staff-directory-test-category') tag_category.save() resp2 = self.client.post('/staff/add-person-to-tag/%s/hello!/' % (person.stub), {'person_stub': person.stub, 'tag_category': 'staff-directory-test-category'}) self.assertContains(resp2, "redirect", status_code=200)
def test_single_tag_user_profile(self): user = UserF(username="******") user.set_password("x") user.save() person = Person(user=user) person.stub = "jack" person.save() resp1 = self.client.login(username="******", password="******") self.assertTrue(resp1) tag_category = TagCategory(name='Test Category', slug='staff-directory-test-category') tag_category.save() resp2 = self.client.post( '/staff/add-person-to-tag/%s/hello!/' % (person.stub), { 'person_stub': person.stub, 'tag_category': 'staff-directory-test-category' }) self.assertContains(resp2, "redirect", status_code=200)
def test_no_emails(self): user1 = UserF(username="******") person1 = Person(user=user1) person1.save() user2 = UserF(username="******") person2 = Person(user=user2) person2.save() tag_category = TagCategory(name='Test Category', slug='staff-directory-test-category') tag_category.save() tags = [] tagged_item = add_tags(person1, 'TagA', 'staff-directory-test-category', user1, 'person') tags.append(tagged_item.tag.slug) tagged_item = add_tags(person2, 'TagB', 'staff-directory-test-category', user1, 'person') tags.append(tagged_item.tag.slug) emails = _get_emails_for_tag(tags) self.assertEqual(len(emails), 0)