From 2695e38ed537d710635884615631bf67099bbfc2 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 8 Nov 2023 15:23:24 +0100 Subject: [PATCH] fix: make test for last seen by env not rely on array order (#5303) This test was flaky because it relied on the order of the array returned. To make it less flaky, we now turn the array into an object instead and compare that. --- .../tests/feature-toggle-last-seen-at.e2e.test.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/lib/features/feature-toggle/tests/feature-toggle-last-seen-at.e2e.test.ts b/src/lib/features/feature-toggle/tests/feature-toggle-last-seen-at.e2e.test.ts index 85225f4aef..e4165cf6a5 100644 --- a/src/lib/features/feature-toggle/tests/feature-toggle-last-seen-at.e2e.test.ts +++ b/src/lib/features/feature-toggle/tests/feature-toggle-last-seen-at.e2e.test.ts @@ -188,7 +188,7 @@ test('response should include last seen at per environment correctly for a singl .get(`/api/admin/projects/default/features/${featureName}`) .expect(200); - expect(body.environments).toMatchObject([ + const expected = [ { name: 'default', lastSeenAt: '2023-08-01T12:30:56.000Z', @@ -201,5 +201,15 @@ test('response should include last seen at per environment correctly for a singl name: 'production', lastSeenAt: '2023-08-01T12:30:56.000Z', }, - ]); + ]; + + const toObject = (lastSeenAtEnvData) => + Object.fromEntries( + lastSeenAtEnvData.map((env) => [ + env.name, + { lastSeenAt: env.lastSeenAt }, + ]), + ); + + expect(toObject(body.environments)).toMatchObject(toObject(expected)); });