226 lines · 5.1 KB · TypeScript
RawDownload
import { deduplicateObjectsArray } from "../extract/helpers/deduplicate-objs-array"; describe("deduplicateObjectsArray", () => {  it("should deduplicate the array", async () => {    const objArray = {      lawyers: [        {          name: "James D. Schull",          email: null,          title: "Personal Injury Attorney",          "phone-number": null,          "practice-areas": [            {              area: "Personal Injury",            },          ],        },        {          name: "James D. Schull",          email: null,          title: "Personal Injury Attorney",          "phone-number": null,          "practice-areas": [            {              area: "Personal Injury",            },          ],        },        {          name: "James D. Schull",          email: null,          title: "Personal Injury Attorney",          "phone-number": null,          "practice-areas": [            {              area: "Personal Injury",            },          ],        },      ],    };     const expected = {      lawyers: [        {          name: "James D. Schull",          email: null,          title: "Personal Injury Attorney",          "phone-number": null,          "practice-areas": [            {              area: "Personal Injury",            },          ],        },      ],    };     const result = await deduplicateObjectsArray(objArray);     expect(result).toEqual(expected);  });   it("should not deduplicate if not necessary", async () => {    const objArray = {      lawyers: [        {          name: "James D. Schull",          email: null,          title: "Personal Injury Attorney",          "phone-number": null,          "practice-areas": [            {              area: "Personal Injury",            },          ],        },        {          name: "John Doe",          email: null,          title: "Personal Injury Attorney",          "phone-number": null,          "practice-areas": [            {              area: "Personal Injury",            },          ],        },      ],    };     const result = await deduplicateObjectsArray(objArray);     expect(result).toEqual(objArray);  });   it("should handle an empty array", async () => {    const objArray = { lawyers: [] };     const expected = { lawyers: [] };     const result = await deduplicateObjectsArray(objArray);     expect(result).toEqual(expected);  });   it("should handle objects with different properties", async () => {    const objArray = {      lawyers: [        {          name: "James D. Schull",          email: "james@example.com",          title: "Personal Injury Attorney",        },        {          name: "James D. Schull",          email: "james@example.com",          title: "Personal Injury Attorney",          "phone-number": "123-456-7890",        },      ],    };     const expected = {      lawyers: [        {          name: "James D. Schull",          email: "james@example.com",          title: "Personal Injury Attorney",        },        {          name: "James D. Schull",          email: "james@example.com",          title: "Personal Injury Attorney",          "phone-number": "123-456-7890",        },      ],    };     const result = await deduplicateObjectsArray(objArray);     expect(result).toEqual(expected);  });   it("should handle objects with same properties but different values", async () => {    const objArray = {      lawyers: [        {          name: "James D. Schull",          email: "james1@example.com",          title: "Personal Injury Attorney",        },        {          name: "James D. Schull",          email: "james2@example.com",          title: "Personal Injury Attorney",        },      ],    };     const expected = {      lawyers: [        {          name: "James D. Schull",          email: "james1@example.com",          title: "Personal Injury Attorney",        },        {          name: "James D. Schull",          email: "james2@example.com",          title: "Personal Injury Attorney",        },      ],    };     const result = await deduplicateObjectsArray(objArray);     expect(result).toEqual(expected);  });   it("should handle nested identical objects", async () => {    const objArray = {      lawyers: [        {          name: "James D. Schull",          email: null,          title: "Personal Injury Attorney",          "practice-areas": [            {              area: "Personal Injury",            },          ],        },        {          name: "James D. Schull",          email: null,          title: "Personal Injury Attorney",          "practice-areas": [            {              area: "Personal Injury",            },          ],        },      ],    };     const expected = {      lawyers: [        {          name: "James D. Schull",          email: null,          title: "Personal Injury Attorney",          "practice-areas": [            {              area: "Personal Injury",            },          ],        },      ],    };     const result = await deduplicateObjectsArray(objArray);     expect(result).toEqual(expected);  });});

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t