UNPKG

@lokalise/node-api

Version:
49 lines (40 loc) 1.48 kB
import { LokaliseApiOAuth, Stub, describe, expect, it } from "../setup.js"; const token = process.env.OAUTH2_ACCESS_TOKEN; const project_id = "803826145ba90b42d5d860.46800099"; describe("LokaliseApiOAuth", () => { it("is expected to throw an error if the API key is not provided", () => { expect(() => { new LokaliseApiOAuth({ apiKey: "" }); }).to.throw(Error); }); it("is expected to contain clientData", () => { const client = new LokaliseApiOAuth({ apiKey: token }); expect(client.clientData.token).to.eq(token); expect(client.clientData.tokenType).to.eq("Bearer"); expect(client.clientData.authHeader).to.eq("Authorization"); expect(client.clientData.enableCompression).to.be.false; expect(client.clientData.version).to.eq("api2"); }); it("allows to customize tokenType", () => { const client = new LokaliseApiOAuth({ apiKey: token, tokenType: "Custom", }); expect(client.clientData.tokenType).to.eq("Custom"); }); it("allows to fetch data with OAuth 2 token", async () => { const stub = new Stub({ fixture: "lokalise/project_oauth2.json", uri: `projects/${project_id}`, skipApiToken: true, reqHeaders: { Authorization: `Bearer ${token}`, }, }); await stub.setStub(); const client = new LokaliseApiOAuth({ apiKey: token }); const project = await client.projects().get(project_id); expect(project.project_id).to.equal(project_id); expect(project.project_type).to.equal("localization_files"); }); });