示例#1
0
 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), ])
示例#2
0
 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)
示例#3
0
 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)
示例#4
0
 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), ])
示例#5
0
 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, ])
示例#6
0
 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),
     ])
示例#7
0
 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),
     ])
示例#8
0
 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,
     ])