@lokalise/node-api
Version:
Official Lokalise API 2.0 Node.js client
92 lines (75 loc) • 2.66 kB
text/typescript
import type { UploadedFileProcessDetails } from "../../src/types/queued_process_details.js";
import { describe, expect, it, LokaliseApi, Stub } from "../setup.js";
describe("QueuedProcesses", () => {
const lokaliseApi = new LokaliseApi({ apiKey: process.env.API_KEY });
const projectId = "803826145ba90b42d5d860.46800099";
const processId = "7cedb0907b9c9fdccff10ddf2e8420c9f4bd3073";
it("lists", async () => {
const stub = new Stub({
fixture: "queued_processes/list.json",
uri: `projects/${projectId}/processes`,
respHeaders: {
"x-pagination-total-count": "3",
"x-pagination-page": "1",
"x-pagination-limit": "500",
"x-pagination-page-count": "1",
},
});
await stub.setStub();
const processes = await lokaliseApi.queuedProcesses().list({
project_id: projectId,
});
expect(processes.items[0].process_id).to.eq(processId);
});
it("lists and paginates", async () => {
const params = {
page: 2,
limit: 1,
};
const stub = new Stub({
fixture: "queued_processes/list_pagination.json",
uri: `projects/${projectId}/processes`,
query: params,
respHeaders: {
"x-pagination-total-count": "3",
"x-pagination-page": "2",
"x-pagination-limit": "1",
"x-pagination-page-count": "3",
},
});
await stub.setStub();
const processes = await lokaliseApi.queuedProcesses().list({
project_id: projectId,
...params,
});
expect(processes.items[0].type).to.eq("file-import");
expect(processes.totalResults).to.eq(3);
expect(processes.totalPages).to.eq(3);
expect(processes.resultsPerPage).to.eq(1);
expect(processes.currentPage).to.eq(2);
});
it("retrieves", async () => {
const stub = new Stub({
fixture: "queued_processes/retrieve.json",
uri: `projects/${projectId}/processes/${processId}`,
});
await stub.setStub();
const process = await lokaliseApi.queuedProcesses().get(processId, {
project_id: projectId,
});
expect(process.process_id).to.eq(processId);
expect(process.type).to.eq("file-import");
expect(process.status).to.eq("finished");
expect(process.message).to.eq("");
expect(process.created_by).to.eq(20181);
expect(process.created_by_email).to.eq("bodrovis@protonmail.com");
expect(process.created_at).to.eq("2023-09-19 13:26:18 (Etc/UTC)");
expect(process.created_at_timestamp).to.eq(1695129978);
const processDetails = process.details as UploadedFileProcessDetails;
expect(processDetails.files.length).to.eq(1);
const file = processDetails.files[0];
expect(file.name_original).to.eq("test_async.json");
expect(file.word_count_total).to.eq(3);
expect(file.status).to.eq("finished");
});
});