def test_can_save_the_set_of_articles_to_the_session(self): # Setup issue = IssueFactory.create(journal=self.journal) article = ArticleFactory.create(issue=issue) request = self.factory.get('/') request.user = AnonymousUser() middleware = SessionMiddleware() middleware.process_request(request) citation_list = SavedCitationList(request) citation_list.add(article) # Run citation_list.save() # Check self.assertEqual(request.session['saved-citations'], [str(article.id), ])
def test_can_add_new_articles(self): # Setup issue = IssueFactory.create(journal=self.journal) article_1 = ArticleFactory.create(issue=issue) article_2 = ArticleFactory.create(issue=issue) request = self.factory.get('/') middleware = SessionMiddleware() middleware.process_request(request) citation_list = SavedCitationList(request) # Run citation_list.add(article_1) citation_list.add(article_2) # Check self.assertTrue(article_1 in citation_list) self.assertTrue(article_2.id in citation_list)
def test_can_save_the_set_of_articles_to_the_session(self): # Setup issue = IssueFactory.create(journal=self.journal) article = ArticleFactory.create(issue=issue) request = self.factory.get('/') request.user = AnonymousUser() middleware = SessionMiddleware() middleware.process_request(request) citation_list = SavedCitationList(request) citation_list.add(article) # Run citation_list.save() # Check self.assertEqual(request.session['saved-citations'], [ str(article.id), ])
def test_associates_the_citation_list_to_the_request_object(self): # Setup issue = IssueFactory.create(journal=self.journal) article = ArticleFactory.create(issue=issue) request = self.factory.get('/') request.user = AnonymousUser() middleware = SessionMiddleware() middleware.process_request(request) citation_list = SavedCitationList(request) citation_list.add(article) citation_list.save() middleware = SavedCitationListMiddleware() # Run middleware.process_request(request) # Check self.assertEqual(list(request.saved_citations), [str(article.id), ])
def test_can_associate_the_article_to_the_registered_users(self): # Setup issue = IssueFactory.create(journal=self.journal) article = ArticleFactory.create(issue=issue) request = self.factory.get('/') request.user = self.user middleware = SessionMiddleware() middleware.process_request(request) citation_list = SavedCitationList(request) citation_list.add(article) # Run citation_list.save() # Check self.assertEqual(DBSavedCitationList.objects.count(), 1) db_citation_list = DBSavedCitationList.objects.first() self.assertEqual(db_citation_list.user, self.user) self.assertEqual(list(db_citation_list.documents.all()), [article, ])
def test_associates_the_citation_list_to_the_request_object(self): # Setup issue = IssueFactory.create(journal=self.journal) article = ArticleFactory.create(issue=issue) request = self.factory.get('/') request.user = AnonymousUser() middleware = SessionMiddleware() middleware.process_request(request) citation_list = SavedCitationList(request) citation_list.add(article) citation_list.save() middleware = SavedCitationListMiddleware() # Run middleware.process_request(request) # Check self.assertEqual(list(request.saved_citations), [ str(article.id), ])
def test_can_associate_the_article_to_the_registered_users(self): # Setup issue = IssueFactory.create(journal=self.journal) article = ArticleFactory.create(issue=issue) request = self.factory.get('/') request.user = self.user middleware = SessionMiddleware() middleware.process_request(request) citation_list = SavedCitationList(request) citation_list.add(article) # Run citation_list.save() # Check self.assertEqual(DBSavedCitationList.objects.count(), 1) db_citation_list = DBSavedCitationList.objects.first() self.assertEqual(db_citation_list.user, self.user) self.assertEqual(list(db_citation_list.documents.all()), [ article, ])