From 1c823138f53e1182afac438b5eebdaef0252124d Mon Sep 17 00:00:00 2001 From: = Enea_Gore Date: Mon, 4 Nov 2024 02:35:59 +0100 Subject: [PATCH] add client test --- .../component/rating/rating.component.spec.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/test/javascript/spec/component/rating/rating.component.spec.ts b/src/test/javascript/spec/component/rating/rating.component.spec.ts index 87f4018ec8a9..694eafa02881 100644 --- a/src/test/javascript/spec/component/rating/rating.component.spec.ts +++ b/src/test/javascript/spec/component/rating/rating.component.spec.ts @@ -94,6 +94,22 @@ describe('RatingComponent', () => { ratingComponent.result.participation = { id: 1 } as Participation; jest.spyOn(ratingService, 'getRating').mockReturnValue(of(2)); ratingComponentFixture.detectChanges(); + ratingComponent.result = { id: 91 } as Result; + ratingComponentFixture.detectChanges(); + expect(loadRatingSpy).toHaveBeenCalledTimes(2); + expect(ratingComponent.rating).toBe(2); + }); + + it('should not call loadRating if result ID remains the same', () => { + // without this condition the loadRating might be spammed making unneccesary api calls + const loadRatingSpy = jest.spyOn(ratingComponent, 'loadRating'); + ratingComponent.result = { id: 90 } as Result; + ratingComponent.result.submission = { id: 1 } as Submission; + ratingComponent.result.participation = { id: 1 } as Participation; + jest.spyOn(ratingService, 'getRating').mockReturnValue(of(2)); + ratingComponentFixture.detectChanges(); + ratingComponent.result = { id: 90 } as Result; + ratingComponentFixture.detectChanges(); expect(loadRatingSpy).toHaveBeenCalledOnce(); expect(ratingComponent.rating).toBe(2); });