Пример #1
0
    def test_several_pages_are_created_when_multiple_results(self):
        max_post_nb_per_page = 5
        post_nb = 16
        num_pages = ceil(post_nb / max_post_nb_per_page)
        self.client.force_login(user=self.user)
        search_text = "bambous rouges"
        post_type = "NEED"
        post_list = create_post_bulk(post_nb=5)
        query_related_post_list = create_post_bulk(post_nb=post_nb,
                                                   post_type=post_type,
                                                   text_content="Je suis spécialiste de l'arrachage de {}.".format(search_text))

        post_list += query_related_post_list

        for page_nb in range(1, num_pages+1):
            with self.subTest(page_nb=page_nb):
                query_set = {"search_text": search_text, "type": post_type, "page": page_nb}
                query_url = reverse("search:home") + "?" + urlencode(query_set)
                response = self.client.get(query_url)
                self.assertEqual(response.status_code, 200)

                post_search_results = response.context["post_search_results"]
                expected_post_number = post_nb-(max_post_nb_per_page*(page_nb-1)) if page_nb == num_pages else max_post_nb_per_page
                self.assertEqual(len(post_search_results), expected_post_number)
                self.assertEqual(post_search_results.paginator.num_pages, num_pages)

                for post in query_related_post_list[(page_nb-1)*5:max_post_nb_per_page*page_nb]:
                    with self.subTest(post=post):
                        self.assertIn(post, post_search_results)
Пример #2
0
    def test_single_result(self):
        self.client.force_login(user=self.user)
        search_text = "bambous rouges"
        post_type = "OFFER"
        post_list = create_post_bulk(post_nb=10)
        query_related_post_list = create_post_bulk(post_nb=1,
                                                   post_type=post_type,
                                                   text_content="Je suis spécialiste de l'arrachage de {}.".format(search_text))
        post_list += query_related_post_list

        query_set = {"search_text": search_text, "type": post_type}
        query_url = reverse("search:home") + "?" + urlencode(query_set)

        response = self.client.get(query_url)
        self.assertEqual(response.status_code, 200)
        post_search_results = response.context["post_search_results"]
        self.assertEqual(len(post_search_results), 1)
        self.assertIn(query_related_post_list[0], post_search_results)
Пример #3
0
 def setUpClass(cls):
     super(NewMessageView, cls).setUpClass()
     cls.post, = create_post_bulk(1)
Пример #4
0
 def setUp(self):
     self.post, = create_post_bulk(1)
     self.client.force_login(user=self.user)
     self.post_data = {"message": "my message", "post": self.post.id}