Skip to content

Commit f852863

Browse files
committed
Correction the tests for the new structure
1 parent c279ca9 commit f852863

2 files changed

Lines changed: 36 additions & 12 deletions

File tree

backend/tests/unit/services/app.test.js

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,46 @@ const mocks = vi.hoisted(() => ({
77
outputFile: "output/a.xlsx",
88
pdfFile: "output/a.pdf",
99
})),
10-
scrapeLinkedinJobsMock: vi.fn(async () => [{ titulo: "Dev" }]),
10+
searchJobsWithCacheMock: vi.fn(async () => ({
11+
jobs: [{ titulo: "Dev", palavra: "React" }],
12+
total: 1,
13+
fromCache: false,
14+
})),
1115
exportToExcelMock: vi.fn(),
1216
exportToPDFMock: vi.fn(async () => {}),
1317
logInfoMock: vi.fn(),
18+
sourcesMock: [{ sourceName: "linkedin" }],
1419
}));
1520

1621
vi.mock("../../../src/config.js", () => ({ getConfig: mocks.getConfigMock }));
17-
vi.mock("../../../src/linkedinScraper.js", () => ({ scrapeLinkedinJobs: mocks.scrapeLinkedinJobsMock }));
18-
vi.mock("../../../src/exporter.js", () => ({ exportToExcel: mocks.exportToExcelMock, exportToPDF: mocks.exportToPDFMock }));
22+
vi.mock("../../../src/pipeline/searchJobsWithCache.js", () => ({
23+
searchJobsWithCache: mocks.searchJobsWithCacheMock,
24+
}));
25+
vi.mock("../../../src/sources/index.js", () => ({
26+
sources: mocks.sourcesMock,
27+
}));
28+
vi.mock("../../../src/exporter.js", () => ({
29+
exportToExcel: mocks.exportToExcelMock,
30+
exportToPDF: mocks.exportToPDFMock,
31+
}));
1932
vi.mock("../../../src/logger.js", () => ({ logInfo: mocks.logInfoMock }));
2033

21-
import { run } from "../../../src/app.js";
34+
import { run } from "../../../src/runner.js";
2235

2336
describe("run", () => {
2437
it("orquestra coleta e exportacao", async () => {
2538
await run();
2639

2740
expect(mocks.getConfigMock).toHaveBeenCalledTimes(1);
28-
expect(mocks.scrapeLinkedinJobsMock).toHaveBeenCalledTimes(1);
29-
expect(mocks.exportToExcelMock).toHaveBeenCalledWith([{ titulo: "Dev" }], "output/a.xlsx");
30-
expect(mocks.exportToPDFMock).toHaveBeenCalledWith([{ titulo: "Dev" }], "output/a.pdf");
41+
expect(mocks.searchJobsWithCacheMock).toHaveBeenCalledTimes(1);
42+
expect(mocks.exportToExcelMock).toHaveBeenCalledWith(
43+
[{ titulo: "Dev", palavra: "React" }],
44+
"output/a.xlsx",
45+
);
46+
expect(mocks.exportToPDFMock).toHaveBeenCalledWith(
47+
[{ titulo: "Dev", palavra: "React" }],
48+
"output/a.pdf",
49+
);
3150
expect(mocks.logInfoMock).toHaveBeenCalled();
3251
});
3352
});

backend/tests/unit/services/linkedinScraper.test.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ vi.mock("../../../src/logger.js", () => ({
1212
logWarn: mocks.logWarnMock,
1313
}));
1414

15-
import { scrapeLinkedinJobs } from "../../../src/linkedinScraper.js";
15+
import { linkedinAdapter } from "../../../src/adapters/linkedin.js";
1616

1717
const BASE_CONFIG = {
1818
searchLocation: "Brasil",
@@ -25,7 +25,7 @@ const BASE_CONFIG = {
2525
maxPagesPerKeyword: 1,
2626
};
2727

28-
describe("scrapeLinkedinJobs", () => {
28+
describe("linkedinAdapter", () => {
2929
it("faz parse e remove vagas duplicadas", async () => {
3030
axios.get.mockResolvedValue({
3131
data: `
@@ -44,16 +44,21 @@ describe("scrapeLinkedinJobs", () => {
4444
`,
4545
});
4646

47-
const jobs = await scrapeLinkedinJobs({ ...BASE_CONFIG, keywords: ["React"] });
47+
const jobs = await linkedinAdapter.search("React", BASE_CONFIG);
4848

4949
expect(jobs).toHaveLength(1);
50-
expect(jobs[0]).toMatchObject({ palavra: "React", titulo: "Dev 1", empresa: "ACME" });
50+
expect(jobs[0]).toMatchObject({
51+
source: "linkedin",
52+
keyword: "React",
53+
titulo: "Dev 1",
54+
empresa: "ACME",
55+
});
5156
});
5257

5358
it("trata erro HTTP e retorna lista vazia", async () => {
5459
axios.get.mockRejectedValue(new Error("falha"));
5560

56-
const jobs = await scrapeLinkedinJobs({ ...BASE_CONFIG, keywords: ["Node"] });
61+
const jobs = await linkedinAdapter.search("Node", BASE_CONFIG);
5762

5863
expect(jobs).toEqual([]);
5964
expect(mocks.logWarnMock).toHaveBeenCalled();

0 commit comments

Comments
 (0)