65 lines
1.7 KiB
TypeScript
65 lines
1.7 KiB
TypeScript
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
|
|
vi.mock("../src/run", () => ({
|
|
runStartupJobs: vi.fn(),
|
|
}));
|
|
|
|
describe("startupjobs manifest", () => {
|
|
beforeEach(() => {
|
|
vi.clearAllMocks();
|
|
});
|
|
|
|
it("prefers startupjobsMaxJobsPerTerm when provided", async () => {
|
|
const { manifest } = await import("../src/manifest");
|
|
const { runStartupJobs } = await import("../src/run");
|
|
const runStartupJobsMock = vi.mocked(runStartupJobs);
|
|
runStartupJobsMock.mockResolvedValue({
|
|
success: true,
|
|
jobs: [],
|
|
});
|
|
|
|
await manifest.run({
|
|
source: "startupjobs",
|
|
selectedSources: ["startupjobs"],
|
|
settings: {
|
|
startupjobsMaxJobsPerTerm: "70",
|
|
jobspyResultsWanted: "30",
|
|
},
|
|
searchTerms: ["software engineer"],
|
|
selectedCountry: "united kingdom",
|
|
});
|
|
|
|
expect(runStartupJobsMock).toHaveBeenCalledWith(
|
|
expect.objectContaining({
|
|
maxJobsPerTerm: 70,
|
|
}),
|
|
);
|
|
});
|
|
|
|
it("forwards workplace types to the runner", async () => {
|
|
const { manifest } = await import("../src/manifest");
|
|
const { runStartupJobs } = await import("../src/run");
|
|
const runStartupJobsMock = vi.mocked(runStartupJobs);
|
|
runStartupJobsMock.mockResolvedValue({
|
|
success: true,
|
|
jobs: [],
|
|
});
|
|
|
|
await manifest.run({
|
|
source: "startupjobs",
|
|
selectedSources: ["startupjobs"],
|
|
settings: {
|
|
workplaceTypes: '["remote","onsite"]',
|
|
},
|
|
searchTerms: ["software engineer"],
|
|
selectedCountry: "united kingdom",
|
|
});
|
|
|
|
expect(runStartupJobsMock).toHaveBeenCalledWith(
|
|
expect.objectContaining({
|
|
workplaceTypes: ["remote", "onsite"],
|
|
}),
|
|
);
|
|
});
|
|
});
|