|
1 |
| -import { isDefined, isError } from "./utils"; |
| 1 | +import { isDefined, isError, uniqueFromSources } from "./utils"; |
2 | 2 |
|
3 | 3 | describe("isDefined", () => {
|
4 | 4 | it("returns true when the item is defined", () => {
|
@@ -47,3 +47,38 @@ describe("isError", () => {
|
47 | 47 | expect(result).toBe(false);
|
48 | 48 | });
|
49 | 49 | });
|
| 50 | + |
| 51 | +describe("uniqueFromSources", () => { |
| 52 | + it("returns unique items when multiple are given", () => { |
| 53 | + // Arange |
| 54 | + const sources = ["a", "b", "b", "c"]; |
| 55 | + |
| 56 | + // Act |
| 57 | + const result = uniqueFromSources(...sources); |
| 58 | + |
| 59 | + // Assert |
| 60 | + expect(result).toEqual(["a", "b", "c"]); |
| 61 | + }); |
| 62 | + |
| 63 | + it("returns items from a nested array", () => { |
| 64 | + // Arange |
| 65 | + const sources = ["a", ["b"], "c"]; |
| 66 | + |
| 67 | + // Act |
| 68 | + const result = uniqueFromSources(...sources); |
| 69 | + |
| 70 | + // Assert |
| 71 | + expect(result).toEqual(["a", "b", "c"]); |
| 72 | + }); |
| 73 | + |
| 74 | + it("filters out undefined inputs", () => { |
| 75 | + // Arange |
| 76 | + const sources = ["a", "b", "c", undefined]; |
| 77 | + |
| 78 | + // Act |
| 79 | + const result = uniqueFromSources(...sources); |
| 80 | + |
| 81 | + // Assert |
| 82 | + expect(result).toEqual(["a", "b", "c"]); |
| 83 | + }); |
| 84 | +}); |
0 commit comments