lokalise_api_oauth.spec.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. require("../setup");
  2. import { expect } from "chai";
  3. import { Cassettes } from "mocha-cassettes";
  4. import { LokaliseApiOAuth } from "../../src/lokalise/lokalise_api_oauth";
  5. const token = process.env.OAUTH2_ACCESS_TOKEN;
  6. const cassette = new Cassettes("./test/cassettes");
  7. const project_id = "803826145ba90b42d5d860.46800099";
  8. describe("LokaliseApiOAuth", function () {
  9. it("is expected to throw an error if the API key is not provided", function () {
  10. expect(function () {
  11. new LokaliseApiOAuth({ apiKey: "" });
  12. }).to.throw(Error);
  13. });
  14. it("is expected to contain clientData", function () {
  15. const client = new LokaliseApiOAuth({ apiKey: token });
  16. expect(client.clientData.token).to.eq(token);
  17. expect(client.clientData.tokenType).to.eq("Bearer");
  18. expect(client.clientData.authHeader).to.eq("Authorization");
  19. expect(client.clientData.enableCompression).to.be.false;
  20. });
  21. it("allows to customize tokenType", function () {
  22. const client = new LokaliseApiOAuth({
  23. apiKey: token,
  24. tokenType: "Custom",
  25. });
  26. expect(client.clientData.tokenType).to.eq("Custom");
  27. });
  28. cassette
  29. .createTest("get project", async () => {
  30. const client = new LokaliseApiOAuth({ apiKey: token });
  31. const project = await client.projects().get(project_id);
  32. expect(project.project_id).to.equal(project_id);
  33. expect(project.project_type).to.equal("localization_files");
  34. })
  35. .register(this);
  36. });