def test_get_article_with_report(self): rf = RequestFactory() expected = JsonResponse({ "article": { "url": "url", "name": "article_name", "legit_reports": 0, "fake_reports": 0 }, "website": { "name": "website_name" }, "report": { "user_id": "uid", "article": "url", "value": "L" } }) website = Website(id=utils.hash_digest("website_name"), name="website_name") website.save() article = Article(id=utils.hash_digest("url"), url="url", name="article_name", website=website) article.save() user = User.objects.get(id="uid") report = Report(user=user, article=article, value=Report.Values.L.name) report.save() request = rf.post("get_article", data=json.dumps({ "object": { "url": "url", "website_name": "website_name" } }), content_type="application/json") response = get_article.handler(request) self.assertEqual(str(response), str(expected)) self.assertEquals(article.as_dict(), json.loads(response.content)["article"]) self.assertEquals(website.as_dict(), json.loads(response.content)["website"]) self.assertEquals(report.as_dict(), json.loads(response.content)["report"])
def test_get_article_already_present(self): rf = RequestFactory() expected = JsonResponse({ "article": { "url": "url", "name": "article_name", "legit_reports": 0, "fake_reports": 0 }, "website": { "name": "website_name" } }) website = Website(id=utils.hash_digest("website_name"), name="website_name") website.save() article = Article(id=utils.hash_digest("url"), url="url", name="article_name", website=website) article.save() request = rf.post("get_article", data=json.dumps({ "object": { "url": "url", "website_name": "website_name" } }), content_type="application/json") response = get_article.handler(request) self.assertEqual(str(response), str(expected)) self.assertEquals(article.as_dict(), json.loads(response.content)["article"]) self.assertEquals(website.as_dict(), json.loads(response.content)["website"])