diff --git a/news/+130d79d1.tests.rst b/news/+130d79d1.tests.rst new file mode 100644 index 0000000..091c601 --- /dev/null +++ b/news/+130d79d1.tests.rst @@ -0,0 +1 @@ +Fix tests for ``not`` queries in ``Products.ZCatalog`` 7.2.0+. [maurits] diff --git a/src/plone/app/querystring/tests/testQueryBuilder.py b/src/plone/app/querystring/tests/testQueryBuilder.py index 6a79bf0..6e41700 100644 --- a/src/plone/app/querystring/tests/testQueryBuilder.py +++ b/src/plone/app/querystring/tests/testQueryBuilder.py @@ -123,8 +123,14 @@ def testMakeQueryWithSubjectNot(self): } ] results = self.querybuilder._makequery(query=query) - self.assertEqual(len(results), 1) - self.assertEqual(results[0].getURL(), "http://nohost/plone/testfolder") + # Since Products.ZCatalog 7.2.0 the Plone Site is also returned. + # To keep the test compatible with both older and newer versions, + # only assert that the page with subject 'Lorem' is not part of the + # results (the presence of the Plone site itself may vary by ZCatalog + # version). + self.assertNotIn( + self.testpage.absolute_url(), [brain.getURL() for brain in results] + ) def testMakeQueryWithMultipleSubject(self): self.testpage.setSubject(["Lorem"]) @@ -153,8 +159,14 @@ def testMakeQueryWithMultipleSubjectNot(self): } ] results = self.querybuilder._makequery(query=query) - self.assertEqual(len(results), 1) - self.assertEqual(results[0].getURL(), "http://nohost/plone/testfolder") + # Since Products.ZCatalog 7.2.0 the Plone Site is also returned. + # To keep the test compatible with both older and newer versions, + # only assert that the page with subject 'Lorem' is not part of the + # results (the presence of the Plone site itself may vary by ZCatalog + # version). + self.assertNotIn( + self.testpage.absolute_url(), [brain.getURL() for brain in results] + ) def testMakeQueryWithSubjectWithSpecialCharacters(self): self.testpage.setSubject(["Äüö"])