Skip to content

Commit 7a6e492

Browse files
committed
test: added specs for areEqualElements function
1 parent 817d380 commit 7a6e492

File tree

4 files changed

+55
-16
lines changed

4 files changed

+55
-16
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { areEqualElements } from "./areEqualElements.ts";
2+
3+
const baseScoreElement = {
4+
name: "foo",
5+
score: 0,
6+
reason: "sample reason",
7+
details: ["sample detail"],
8+
documentation: {
9+
short: "documentation short",
10+
url: "documentation url",
11+
},
12+
};
13+
14+
describe("util: areEqualElements", () => {
15+
it("returns true if two elements are equal", () => {
16+
expect(
17+
areEqualElements(
18+
{ ...baseScoreElement, details: ["foo"], reason: "foo" },
19+
{ ...baseScoreElement, details: ["foo"], reason: "foo" },
20+
),
21+
).toBe(true);
22+
});
23+
24+
it("returns false if two elements are not equal", () => {
25+
expect(
26+
areEqualElements(
27+
{ ...baseScoreElement, details: ["foo"], reason: "foo" },
28+
{ ...baseScoreElement, details: ["bar"], reason: "bar" },
29+
),
30+
).toBe(false);
31+
expect(
32+
areEqualElements(
33+
{ ...baseScoreElement, details: ["foo"], reason: "foo" },
34+
{ ...baseScoreElement, details: ["bar"], reason: "foo" },
35+
),
36+
).toBe(false);
37+
expect(
38+
areEqualElements(
39+
{ ...baseScoreElement, details: ["foo"], reason: "foo" },
40+
{ ...baseScoreElement, details: ["foo"], reason: "bar" },
41+
),
42+
).toBe(false);
43+
});
44+
});
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { ScoreElement } from "../../types";
2+
3+
export const areEqualElements = (
4+
currentElement: ScoreElement,
5+
previousElement: ScoreElement,
6+
) =>
7+
JSON.stringify(currentElement.details) ===
8+
JSON.stringify(previousElement.details) &&
9+
JSON.stringify(currentElement.reason) ===
10+
JSON.stringify(previousElement.reason);

src/utils/comparator/areEqualElements.tsx

Lines changed: 0 additions & 16 deletions
This file was deleted.

tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"strict": true,
1010
"forceConsistentCasingInFileNames": true,
1111
"noFallthroughCasesInSwitch": true,
12+
"allowImportingTsExtensions": true,
1213
"module": "esnext",
1314
"moduleResolution": "node",
1415
"resolveJsonModule": true,

0 commit comments

Comments
 (0)