@@ -112,235 +112,52 @@ void shouldSavePricingNodeRefWithEffectiveDates() {
112112 class CustomQueryMethodsTest {
113113
114114 @ Test
115- @ DisplayName ("Should find pricing node refs by usage point " )
116- void shouldFindPricingNodeRefsByUsagePoint () {
115+ @ DisplayName ("Should find all IDs " )
116+ void shouldFindAllIds () {
117117 // Arrange
118118 UsagePointEntity usagePoint = TestDataBuilders .createValidUsagePoint ();
119119 UsagePointEntity savedUsagePoint = usagePointRepository .save (usagePoint );
120-
120+
121121 PnodeRefEntity pnodeRef1 = new PnodeRefEntity ("HUB" , "HUB_1" , savedUsagePoint );
122122 PnodeRefEntity pnodeRef2 = new PnodeRefEntity ("LOAD_ZONE" , "ZONE_1" , savedUsagePoint );
123-
124- pnodeRefRepository .save (pnodeRef1 );
125- pnodeRefRepository .save (pnodeRef2 );
123+
124+ PnodeRefEntity saved1 = pnodeRefRepository .save (pnodeRef1 );
125+ PnodeRefEntity saved2 = pnodeRefRepository .save (pnodeRef2 );
126126 flushAndClear ();
127127
128128 // Act
129- List <PnodeRefEntity > pnodeRefs = pnodeRefRepository .findByUsagePoint ( savedUsagePoint );
129+ List <Long > allIds = pnodeRefRepository .findAllIds ( );
130130
131131 // Assert
132- assertThat (pnodeRefs ).hasSize (2 );
133- assertThat (pnodeRefs ).extracting (PnodeRefEntity ::getRef )
134- .containsExactlyInAnyOrder ("HUB_1" , "ZONE_1" );
132+ assertThat (allIds ).contains (saved1 .getId (), saved2 .getId ());
135133 }
136134
137135 @ Test
138- @ DisplayName ("Should find pricing node refs by usage point ID" )
139- void shouldFindPricingNodeRefsByUsagePointId () {
136+ @ DisplayName ("Should find all pricing node refs by usage point ID" )
137+ void shouldFindAllPricingNodeRefsByUsagePointId () {
140138 // Arrange
141139 UsagePointEntity usagePoint1 = TestDataBuilders .createValidUsagePoint ();
142140 UsagePointEntity usagePoint2 = TestDataBuilders .createValidUsagePoint ();
143141 UsagePointEntity savedUsagePoint1 = usagePointRepository .save (usagePoint1 );
144142 UsagePointEntity savedUsagePoint2 = usagePointRepository .save (usagePoint2 );
145-
143+
146144 PnodeRefEntity pnodeRef1 = new PnodeRefEntity ("HUB" , "HUB_1" , savedUsagePoint1 );
147145 PnodeRefEntity pnodeRef2 = new PnodeRefEntity ("HUB" , "HUB_2" , savedUsagePoint1 );
148146 PnodeRefEntity pnodeRef3 = new PnodeRefEntity ("HUB" , "HUB_3" , savedUsagePoint2 );
149-
147+
150148 pnodeRefRepository .save (pnodeRef1 );
151149 pnodeRefRepository .save (pnodeRef2 );
152150 pnodeRefRepository .save (pnodeRef3 );
153151 flushAndClear ();
154152
155153 // Act
156- List <PnodeRefEntity > pnodeRefs = pnodeRefRepository .findByUsagePointId (savedUsagePoint1 .getId ());
154+ List <PnodeRefEntity > pnodeRefs = pnodeRefRepository .findAllByUsagePointId (savedUsagePoint1 .getId ());
157155
158156 // Assert
159157 assertThat (pnodeRefs ).hasSize (2 );
160158 assertThat (pnodeRefs ).extracting (PnodeRefEntity ::getRef )
161159 .containsExactlyInAnyOrder ("HUB_1" , "HUB_2" );
162160 }
163-
164- @ Test
165- @ DisplayName ("Should find pricing node refs by apnode type" )
166- void shouldFindPricingNodeRefsByApnodeType () {
167- // Arrange
168- UsagePointEntity usagePoint = TestDataBuilders .createValidUsagePoint ();
169- UsagePointEntity savedUsagePoint = usagePointRepository .save (usagePoint );
170-
171- PnodeRefEntity pnodeRef1 = new PnodeRefEntity ("HUB" , "HUB_1" , savedUsagePoint );
172- PnodeRefEntity pnodeRef2 = new PnodeRefEntity ("HUB" , "HUB_2" , savedUsagePoint );
173- PnodeRefEntity pnodeRef3 = new PnodeRefEntity ("LOAD_ZONE" , "ZONE_1" , savedUsagePoint );
174-
175- pnodeRefRepository .save (pnodeRef1 );
176- pnodeRefRepository .save (pnodeRef2 );
177- pnodeRefRepository .save (pnodeRef3 );
178- flushAndClear ();
179-
180- // Act
181- List <PnodeRefEntity > hubRefs = pnodeRefRepository .findByApnodeType ("HUB" );
182-
183- // Assert
184- assertThat (hubRefs ).hasSize (2 );
185- assertThat (hubRefs ).extracting (PnodeRefEntity ::getRef )
186- .containsExactlyInAnyOrder ("HUB_1" , "HUB_2" );
187- }
188-
189- @ Test
190- @ DisplayName ("Should find pricing node refs by usage point and apnode type" )
191- void shouldFindPricingNodeRefsByUsagePointAndApnodeType () {
192- // Arrange
193- UsagePointEntity usagePoint = TestDataBuilders .createValidUsagePoint ();
194- UsagePointEntity savedUsagePoint = usagePointRepository .save (usagePoint );
195-
196- PnodeRefEntity pnodeRef1 = new PnodeRefEntity ("HUB" , "HUB_1" , savedUsagePoint );
197- PnodeRefEntity pnodeRef2 = new PnodeRefEntity ("LOAD_ZONE" , "ZONE_1" , savedUsagePoint );
198-
199- pnodeRefRepository .save (pnodeRef1 );
200- pnodeRefRepository .save (pnodeRef2 );
201- flushAndClear ();
202-
203- // Act
204- List <PnodeRefEntity > hubRefs = pnodeRefRepository .findByUsagePointAndApnodeType (savedUsagePoint , "HUB" );
205-
206- // Assert
207- assertThat (hubRefs ).hasSize (1 );
208- assertThat (hubRefs .get (0 ).getRef ()).isEqualTo ("HUB_1" );
209- }
210-
211- @ Test
212- @ DisplayName ("Should find pricing node refs by ref" )
213- void shouldFindPricingNodeRefsByRef () {
214- // Arrange
215- UsagePointEntity usagePoint = TestDataBuilders .createValidUsagePoint ();
216- UsagePointEntity savedUsagePoint = usagePointRepository .save (usagePoint );
217-
218- PnodeRefEntity pnodeRef1 = new PnodeRefEntity ("HUB" , "UNIQUE_HUB" , savedUsagePoint );
219- PnodeRefEntity pnodeRef2 = new PnodeRefEntity ("LOAD_ZONE" , "COMMON_REF" , savedUsagePoint );
220-
221- pnodeRefRepository .save (pnodeRef1 );
222- pnodeRefRepository .save (pnodeRef2 );
223- flushAndClear ();
224-
225- // Act
226- List <PnodeRefEntity > refs = pnodeRefRepository .findByRef ("UNIQUE_HUB" );
227-
228- // Assert
229- assertThat (refs ).hasSize (1 );
230- assertThat (refs .get (0 ).getApnodeType ()).isEqualTo ("HUB" );
231- }
232-
233- @ Test
234- @ DisplayName ("Should find valid pricing node refs by usage point ID" )
235- void shouldFindValidPricingNodeRefsByUsagePointId () {
236- // Arrange
237- UsagePointEntity usagePoint = TestDataBuilders .createValidUsagePoint ();
238- UsagePointEntity savedUsagePoint = usagePointRepository .save (usagePoint );
239-
240- long currentTime = System .currentTimeMillis () / 1000 ;
241- long pastTime = currentTime - 3600 ; // 1 hour ago
242- long futureTime = currentTime + 3600 ; // 1 hour from now
243-
244- // Valid: no dates set (always valid)
245- PnodeRefEntity validRef1 = new PnodeRefEntity ("HUB" , "ALWAYS_VALID" , savedUsagePoint );
246-
247- // Valid: started in past, no end date
248- PnodeRefEntity validRef2 = new PnodeRefEntity ("HUB" , "STARTED_VALID" , pastTime , null , savedUsagePoint );
249-
250- // Invalid: starts in future
251- PnodeRefEntity invalidRef = new PnodeRefEntity ("HUB" , "FUTURE_START" , futureTime , null , savedUsagePoint );
252-
253- pnodeRefRepository .save (validRef1 );
254- pnodeRefRepository .save (validRef2 );
255- pnodeRefRepository .save (invalidRef );
256- flushAndClear ();
257-
258- // Act
259- List <PnodeRefEntity > validRefs = pnodeRefRepository .findValidByUsagePointId (savedUsagePoint .getId (), currentTime );
260-
261- // Assert
262- assertThat (validRefs ).hasSize (2 );
263- assertThat (validRefs ).extracting (PnodeRefEntity ::getRef )
264- .containsExactlyInAnyOrder ("ALWAYS_VALID" , "STARTED_VALID" );
265- }
266-
267- @ Test
268- @ DisplayName ("Should find valid pricing node refs by apnode type" )
269- void shouldFindValidPricingNodeRefsByApnodeType () {
270- // Arrange
271- UsagePointEntity usagePoint = TestDataBuilders .createValidUsagePoint ();
272- UsagePointEntity savedUsagePoint = usagePointRepository .save (usagePoint );
273-
274- long currentTime = System .currentTimeMillis () / 1000 ;
275- long pastTime = currentTime - 3600 ; // 1 hour ago
276- long futureTime = currentTime + 3600 ; // 1 hour from now
277-
278- // Valid HUB
279- PnodeRefEntity validHub = new PnodeRefEntity ("HUB" , "VALID_HUB" , pastTime , futureTime , savedUsagePoint );
280-
281- // Invalid HUB (expired)
282- PnodeRefEntity expiredHub = new PnodeRefEntity ("HUB" , "EXPIRED_HUB" , pastTime , pastTime + 1800 , savedUsagePoint );
283-
284- // Valid LOAD_ZONE
285- PnodeRefEntity validZone = new PnodeRefEntity ("LOAD_ZONE" , "VALID_ZONE" , savedUsagePoint );
286-
287- pnodeRefRepository .save (validHub );
288- pnodeRefRepository .save (expiredHub );
289- pnodeRefRepository .save (validZone );
290- flushAndClear ();
291-
292- // Act
293- List <PnodeRefEntity > validHubs = pnodeRefRepository .findValidByApnodeType ("HUB" , currentTime );
294-
295- // Assert
296- assertThat (validHubs ).hasSize (1 );
297- assertThat (validHubs .get (0 ).getRef ()).isEqualTo ("VALID_HUB" );
298- }
299-
300- @ Test
301- @ DisplayName ("Should delete pricing node refs by usage point" )
302- void shouldDeletePricingNodeRefsByUsagePoint () {
303- // Arrange
304- UsagePointEntity usagePoint = TestDataBuilders .createValidUsagePoint ();
305- UsagePointEntity savedUsagePoint = usagePointRepository .save (usagePoint );
306-
307- PnodeRefEntity pnodeRef1 = new PnodeRefEntity ("HUB" , "HUB_1" , savedUsagePoint );
308- PnodeRefEntity pnodeRef2 = new PnodeRefEntity ("HUB" , "HUB_2" , savedUsagePoint );
309-
310- pnodeRefRepository .save (pnodeRef1 );
311- pnodeRefRepository .save (pnodeRef2 );
312- flushAndClear ();
313-
314- // Act
315- Long deletedCount = pnodeRefRepository .deleteByUsagePoint (savedUsagePoint );
316- flushAndClear ();
317-
318- // Assert
319- assertThat (deletedCount ).isEqualTo (2L );
320- List <PnodeRefEntity > remainingRefs = pnodeRefRepository .findByUsagePoint (savedUsagePoint );
321- assertThat (remainingRefs ).isEmpty ();
322- }
323-
324- @ Test
325- @ DisplayName ("Should delete pricing node refs by usage point ID" )
326- void shouldDeletePricingNodeRefsByUsagePointId () {
327- // Arrange
328- UsagePointEntity usagePoint = TestDataBuilders .createValidUsagePoint ();
329- UsagePointEntity savedUsagePoint = usagePointRepository .save (usagePoint );
330-
331- PnodeRefEntity pnodeRef = new PnodeRefEntity ("HUB" , "DELETE_TEST" , savedUsagePoint );
332- pnodeRefRepository .save (pnodeRef );
333- flushAndClear ();
334-
335- // Act
336- Long deletedCount = pnodeRefRepository .deleteByUsagePointId (savedUsagePoint .getId ());
337- flushAndClear ();
338-
339- // Assert
340- assertThat (deletedCount ).isEqualTo (1L );
341- List <PnodeRefEntity > remainingRefs = pnodeRefRepository .findByUsagePointId (savedUsagePoint .getId ());
342- assertThat (remainingRefs ).isEmpty ();
343- }
344161 }
345162
346163 @ Nested
0 commit comments