def test_add_tags(self): question = Question(author=self.user, title="A", description="B") with self.assertRaises(ValueError): question.add_tags(["tag1", "tag2"]) question.save() tags = ["tag1", "tag2", "tag3"] question.add_tags(tags) self.assertEqual(set(tags), set(question.tags.values_list("name", flat=True)))
def test_add_tags(self): question = Question(author=self.user, title="A", content="B") # Question has not been saved to DB yet with self.assertRaises(ValueError): question.add_tags(["tag1", "tag2"], self.user) question.save() raw_tags = ["tag1", "tag2", "tag3"] question.add_tags(raw_tags, self.user) self.assertEqual(set(raw_tags), set(question.tags.values_list("name", flat=True)))
def test_query_with_tag(self): unique_title = md5(urandom(10)).hexdigest() unique_content = md5(urandom(10)).hexdigest() tag = "tag" question = Question( title=unique_title, description=unique_content, author=self.user ) question.save() question.add_tags([tag]) client = Client() url = reverse("question:search") response = client.get(url, data={"search_": f"tag:{tag}"}) self.assertEqual(response.status_code, 302) self.assertIn(reverse("question:tag", args=(tag,)), response.url) response = client.get( url, data={"search_": f"tag:{tag}"}, follow=True ) self.assertEqual(response.status_code, 200)
def test_query_with_tag(self): unique_title = md5(urandom(10)).hexdigest() unique_content = md5(urandom(10)).hexdigest() unique_tag = md5(urandom(10)).hexdigest() question = Question(title=unique_title, content=unique_content, author=self.user) question.save() question.add_tags([unique_tag], self.user) client = Client() url = reverse("search") response = client.get(url, data={"q": f"tag:{unique_tag}"}) self.assertEqual(response.status_code, 302) self.assertIn(reverse("tag", args=(unique_tag, )), response.url) response = client.get(url, data={"q": f"tag:{unique_tag}"}, follow=True) self.assertEqual(response.status_code, 200) self.assertInHTML(f'<p class="wrapword">{unique_content}</p>', str(response.content))