@@ -46,124 +46,235 @@ class CategoriesTest : BaseEntityTest() {
4646 val productCreateResult2 = apiClient.createProduct(productCreateRequest2)
4747 assertTrue(productCreateResult2.id > 0 )
4848
49+ val productCreateRequest3 = ProductCreateRequest (
50+ newProduct = generateTestProduct(nameSuffix = " testSearchByFilters" , enabled = true )
51+ )
52+ val productCreateResult3 = apiClient.createProduct(productCreateRequest3)
53+ assertTrue(productCreateResult3.id > 0 )
54+
4955 // Creating some categories
50- val categoryCreateRequest1 = CategoryCreateRequest (
56+ val requestTrunkA = CategoryCreateRequest (
5157 newCategory = generateTestCategory(enabled = true )
5258 )
53- val categoryCreateResult1 = apiClient.createCategory(categoryCreateRequest1 )
54- assertTrue(categoryCreateResult1 .id > 0 )
59+ val trunkA = apiClient.createCategory(requestTrunkA )
60+ assertTrue(trunkA .id > 0 )
5561
56- val categoryCreateRequest2 = CategoryCreateRequest (
62+ val requestBranchAA = CategoryCreateRequest (
63+ newCategory = generateTestCategory(
64+ parentCategoryId = trunkA.id,
65+ enabled = true
66+ )
67+ )
68+ val branchAA = apiClient.createCategory(requestBranchAA)
69+ assertTrue(branchAA.id > 0 )
70+
71+ val requestTrunkB = CategoryCreateRequest (
5772 newCategory = generateTestCategory(enabled = false )
5873 )
59- val categoryCreateResult2 = apiClient.createCategory(categoryCreateRequest2 )
60- assertTrue(categoryCreateResult2 .id > 0 )
74+ val trunkB = apiClient.createCategory(requestTrunkB )
75+ assertTrue(trunkB .id > 0 )
6176
62- val categoryCreateRequest3 = CategoryCreateRequest (
77+ val requestBranchBA = CategoryCreateRequest (
6378 newCategory = generateTestCategory(
64- parentCategoryId = categoryCreateResult2 .id,
79+ parentCategoryId = trunkB .id,
6580 productIds = listOf (productCreateResult1.id, productCreateResult2.id),
6681 enabled = false
6782 )
6883 )
69- val categoryCreateResult3 = apiClient.createCategory(categoryCreateRequest3)
70- assertTrue(categoryCreateResult3.id > 0 )
84+ val branchBA = apiClient.createCategory(requestBranchBA)
85+ assertTrue(branchBA.id > 0 )
86+
87+ val requestLeafBAA = CategoryCreateRequest (
88+ newCategory = generateTestCategory(
89+ parentCategoryId = branchBA.id,
90+ productIds = listOf (productCreateResult3.id),
91+ enabled = false
92+ )
93+ )
94+ val leafBAA = apiClient.createCategory(requestLeafBAA)
95+ assertTrue(leafBAA.id > 0 )
7196
7297 // Trying to search by different filters
73- val searchCategoriesResult1 = waitForIndexedCategories(
98+ val searchDescendantsOfTrunkB = waitForIndexedCategories(
7499 categoriesSearchRequest = CategoriesSearchRequest (
75- parentCategoryId = ParentCategory .WithId (categoryCreateResult2 .id),
100+ parentCategoryId = ParentCategory .WithId (trunkB .id),
76101 hiddenCategories = true
77102 ),
78103 desiredCategoriesCount = 1
79104 )
80- assertEquals(1 , searchCategoriesResult1 .total)
105+ assertEquals(1 , searchDescendantsOfTrunkB .total)
81106 assertCategory(
82- desiredId = categoryCreateResult3 .id,
107+ desiredId = branchBA .id,
83108 desiredProductIds = null ,
84- categoriesSearchResult = searchCategoriesResult1
109+ categoriesSearchResult = searchDescendantsOfTrunkB
85110 )
86111
87- val searchCategoriesResult2 = waitForIndexedCategories(
112+ val searchRootCategories = waitForIndexedCategories(
88113 categoriesSearchRequest = CategoriesSearchRequest (
89114 parentCategoryId = ParentCategory .Root ,
90115 hiddenCategories = true
91116 ),
92117 desiredCategoriesCount = 2
93118 )
94- assertEquals(2 , searchCategoriesResult2 .total)
119+ assertEquals(2 , searchRootCategories .total)
95120 assertCategory(
96- desiredId = categoryCreateResult1 .id,
121+ desiredId = trunkA .id,
97122 desiredProductIds = null ,
98- categoriesSearchResult = searchCategoriesResult2
123+ categoriesSearchResult = searchRootCategories
99124 )
100125 assertCategory(
101- desiredId = categoryCreateResult2 .id,
126+ desiredId = trunkB .id,
102127 desiredProductIds = null ,
103- categoriesSearchResult = searchCategoriesResult2
128+ categoriesSearchResult = searchRootCategories
104129 )
105130
106- val searchCategoriesResult3 = waitForIndexedCategories(
131+ val searchAllCategoriesWithProducts = waitForIndexedCategories(
107132 categoriesSearchRequest = CategoriesSearchRequest (
108133 parentCategoryId = ParentCategory .Any ,
109134 hiddenCategories = true ,
110135 returnProductIds = true
111136 ),
112- desiredCategoriesCount = 3
137+ desiredCategoriesCount = 5
113138 )
114- assertEquals(3 , searchCategoriesResult3 .total)
139+ assertEquals(5 , searchAllCategoriesWithProducts .total)
115140 assertCategory(
116- desiredId = categoryCreateResult1 .id,
141+ desiredId = trunkA .id,
117142 desiredProductIds = null ,
118- categoriesSearchResult = searchCategoriesResult3
143+ categoriesSearchResult = searchAllCategoriesWithProducts
119144 )
120145 assertCategory(
121- desiredId = categoryCreateResult2 .id,
146+ desiredId = branchAA .id,
122147 desiredProductIds = null ,
123- categoriesSearchResult = searchCategoriesResult3
148+ categoriesSearchResult = searchAllCategoriesWithProducts
124149 )
125150 assertCategory(
126- desiredId = categoryCreateResult3.id,
151+ desiredId = trunkB.id,
152+ desiredProductIds = null ,
153+ categoriesSearchResult = searchAllCategoriesWithProducts
154+ )
155+ assertCategory(
156+ desiredId = branchBA.id,
127157 desiredProductIds = listOf (productCreateResult1.id, productCreateResult2.id),
128- categoriesSearchResult = searchCategoriesResult3
158+ categoriesSearchResult = searchAllCategoriesWithProducts
159+ )
160+ assertCategory(
161+ desiredId = leafBAA.id,
162+ desiredProductIds = listOf (productCreateResult3.id),
163+ categoriesSearchResult = searchAllCategoriesWithProducts
129164 )
130165
131- val searchCategoriesResult4 = waitForIndexedCategories(
166+ val searchAllCategories = waitForIndexedCategories(
132167 categoriesSearchRequest = CategoriesSearchRequest (
133168 parentCategoryId = ParentCategory .Any ,
134169 hiddenCategories = true
135170 ),
136- desiredCategoriesCount = 3
171+ desiredCategoriesCount = 5
137172 )
138- assertEquals(3 , searchCategoriesResult3 .total)
173+ assertEquals(5 , searchAllCategoriesWithProducts .total)
139174 assertCategory(
140- desiredId = categoryCreateResult1 .id,
175+ desiredId = trunkA .id,
141176 desiredProductIds = null ,
142- categoriesSearchResult = searchCategoriesResult4
177+ categoriesSearchResult = searchAllCategories
143178 )
144179 assertCategory(
145- desiredId = categoryCreateResult2 .id,
180+ desiredId = branchAA .id,
146181 desiredProductIds = null ,
147- categoriesSearchResult = searchCategoriesResult4
182+ categoriesSearchResult = searchAllCategories
148183 )
149184 assertCategory(
150- desiredId = categoryCreateResult3 .id,
185+ desiredId = trunkB .id,
151186 desiredProductIds = null ,
152- categoriesSearchResult = searchCategoriesResult4
187+ categoriesSearchResult = searchAllCategories
188+ )
189+ assertCategory(
190+ desiredId = branchBA.id,
191+ desiredProductIds = null ,
192+ categoriesSearchResult = searchAllCategories
193+ )
194+ assertCategory(
195+ desiredId = leafBAA.id,
196+ desiredProductIds = null ,
197+ categoriesSearchResult = searchAllCategories
153198 )
154199
155- val searchCategoriesResult5 = waitForIndexedCategories(
200+ val searchActiveCategories = waitForIndexedCategories(
156201 categoriesSearchRequest = CategoriesSearchRequest (
157202 parentCategoryId = ParentCategory .Any ,
158203 hiddenCategories = false
159204 ),
205+ desiredCategoriesCount = 2
206+ )
207+ assertEquals(2 , searchActiveCategories.total)
208+ assertCategory(
209+ desiredId = trunkA.id,
210+ desiredProductIds = null ,
211+ categoriesSearchResult = searchActiveCategories
212+ )
213+ assertCategory(
214+ desiredId = branchAA.id,
215+ desiredProductIds = null ,
216+ categoriesSearchResult = searchActiveCategories
217+ )
218+
219+ val searchDirectDescendantsOfTrunkB = waitForIndexedCategories(
220+ categoriesSearchRequest = CategoriesSearchRequest (
221+ parentCategoryIds = listOf (trunkB.id.toLong()),
222+ withSubcategories = false ,
223+ hiddenCategories = true ,
224+ ),
160225 desiredCategoriesCount = 1
161226 )
162- assertEquals(1 , searchCategoriesResult5.total)
227+ assertEquals(1 , searchDirectDescendantsOfTrunkB.total)
228+ assertCategory(
229+ desiredId = branchBA.id,
230+ desiredProductIds = null ,
231+ categoriesSearchResult = searchDirectDescendantsOfTrunkB
232+ )
233+
234+ val searchAllDescendantsOfTrunkB = waitForIndexedCategories(
235+ categoriesSearchRequest = CategoriesSearchRequest (
236+ parentCategoryIds = listOf (trunkB.id.toLong()),
237+ withSubcategories = true ,
238+ hiddenCategories = true ,
239+ ),
240+ desiredCategoriesCount = 2
241+ )
242+ assertEquals(2 , searchAllDescendantsOfTrunkB.total)
243+ assertCategory(
244+ desiredId = branchBA.id,
245+ desiredProductIds = null ,
246+ categoriesSearchResult = searchAllDescendantsOfTrunkB
247+ )
248+ assertCategory(
249+ desiredId = leafBAA.id,
250+ desiredProductIds = null ,
251+ categoriesSearchResult = searchAllDescendantsOfTrunkB
252+ )
253+
254+ val searchDescendantsViaTwoFields = waitForIndexedCategories(
255+ categoriesSearchRequest = CategoriesSearchRequest (
256+ parentCategoryId = ParentCategory .WithId (trunkA.id),
257+ parentCategoryIds = listOf (trunkB.id.toLong()),
258+ withSubcategories = true ,
259+ hiddenCategories = true ,
260+ ),
261+ desiredCategoriesCount = 3
262+ )
263+ assertEquals(3 , searchDescendantsViaTwoFields.total)
264+ assertCategory(
265+ desiredId = branchAA.id,
266+ desiredProductIds = null ,
267+ categoriesSearchResult = searchDescendantsViaTwoFields
268+ )
269+ assertCategory(
270+ desiredId = branchBA.id,
271+ desiredProductIds = null ,
272+ categoriesSearchResult = searchDescendantsViaTwoFields
273+ )
163274 assertCategory(
164- desiredId = categoryCreateResult1 .id,
275+ desiredId = leafBAA .id,
165276 desiredProductIds = null ,
166- categoriesSearchResult = searchCategoriesResult5
277+ categoriesSearchResult = searchDescendantsViaTwoFields
167278 )
168279 }
169280
0 commit comments