123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- require("../setup");
- import { expect } from "chai";
- import { Cassettes } from "mocha-cassettes";
- import { LokaliseApi } from "../../src/lokalise/lokalise_api";
- describe("UserGroups", function () {
- const cassette = new Cassettes("./test/cassettes");
- const lokaliseApi = new LokaliseApi({ apiKey: process.env.API_KEY });
- const team_id = 176692;
- const group_id = 7561;
- const new_group_id = 762;
- const user_id = 20181;
- const project_id = "531138705d0ba0c18f5b43.63503311";
- cassette
- .createTest("list", async () => {
- const user_groups = await lokaliseApi.userGroups().list({
- team_id: team_id,
- });
- expect(user_groups.items[1].group_id).to.eq(group_id);
- expect(user_groups.totalResults).to.eq(4);
- expect(user_groups.currentPage).to.eq(1);
- })
- .register(this);
- cassette
- .createTest("list_pagination", async () => {
- const user_groups = await lokaliseApi.userGroups().list({
- team_id: team_id,
- page: 1,
- limit: 1,
- });
- expect(user_groups.items[0].group_id).to.eq(2639);
- expect(user_groups.totalResults).to.eq(4);
- expect(user_groups.totalPages).to.eq(4);
- expect(user_groups.resultsPerPage).to.eq(1);
- expect(user_groups.currentPage).to.eq(1);
- })
- .register(this);
- cassette
- .createTest("get", async () => {
- const user_group = await lokaliseApi.userGroups().get(group_id, {
- team_id: team_id,
- });
- expect(user_group.group_id).to.eq(group_id);
- expect(user_group.name).to.eq("Restricted");
- expect(user_group.permissions.is_admin).to.be.false;
- expect(user_group.permissions.is_reviewer).to.be.true;
- const languages = user_group.permissions.languages[1];
- expect(languages.is_writable).to.be.true;
- expect(languages.lang_id).to.eq(910);
- expect(languages.lang_iso).to.eq("ak");
- expect(languages.lang_name).to.eq("Akan");
- expect(user_group.created_at).to.eq("2022-08-01 14:16:44 (Etc/UTC)");
- expect(user_group.created_at_timestamp).to.eq(1659363404);
- expect(user_group.team_id).to.eq(team_id);
- expect(user_group.projects).to.include("2273827860c1e2473eb195.11207948");
- expect(user_group.members).to.include(34051);
- })
- .register(this);
- cassette
- .createTest("create", async () => {
- const user_group = await lokaliseApi.userGroups().create(
- {
- name: "Node",
- is_reviewer: false,
- is_admin: true,
- admin_rights: ["upload"],
- },
- { team_id: team_id }
- );
- expect(user_group.group_id).to.eq(new_group_id);
- expect(user_group.name).to.eq("Node");
- expect(user_group.permissions.is_admin).to.be.true;
- })
- .register(this);
- cassette
- .createTest("update", async () => {
- const user_group = await lokaliseApi.userGroups().update(
- new_group_id,
- {
- name: "Node updated",
- is_reviewer: false,
- is_admin: true,
- admin_rights: ["upload"],
- },
- { team_id: team_id }
- );
- expect(user_group.group_id).to.eq(new_group_id);
- expect(user_group.name).to.eq("Node updated");
- expect(user_group.permissions.is_admin).to.be.true;
- })
- .register(this);
- cassette
- .createTest("add_project_to_group", async () => {
- const user_group = await lokaliseApi
- .userGroups()
- .add_projects_to_group(team_id, new_group_id, [project_id]);
- expect(user_group.group_id).to.eq(new_group_id);
- expect(user_group.projects).to.include(project_id);
- })
- .register(this);
- cassette
- .createTest("remove_project_from_group", async () => {
- const user_group = await lokaliseApi
- .userGroups()
- .remove_projects_from_group(team_id, new_group_id, [project_id]);
- expect(user_group.group_id).to.eq(new_group_id);
- expect(user_group.projects).not.to.include(project_id);
- })
- .register(this);
- cassette
- .createTest("add_members_to_group", async () => {
- const user_group = await lokaliseApi
- .userGroups()
- .add_members_to_group(team_id, new_group_id, [user_id]);
- expect(user_group.group_id).to.eq(new_group_id);
- expect(user_group.members).to.include(user_id);
- })
- .register(this);
- cassette
- .createTest("remove_members_from_group", async () => {
- const user_group = await lokaliseApi
- .userGroups()
- .remove_members_from_group(team_id, new_group_id, [user_id]);
- expect(user_group.group_id).to.eq(new_group_id);
- expect(user_group.members).not.to.include(user_id);
- })
- .register(this);
- cassette
- .createTest("delete", async () => {
- const response = await lokaliseApi.userGroups().delete(new_group_id, {
- team_id: team_id,
- });
- expect(response.team_id).to.eq(team_id);
- expect(response.group_deleted).to.be.true;
- })
- .register(this);
- });
|