|
- import test from "ava";
- import nock from "nock";
- import Passwords from "../../src/api/password";
-
- const token =
- "ZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFt";
- const config = { baseURL: "https://lesspass.com", token: token };
- const headers = { reqheaders: { Authorization: `JWT ${token}` } };
-
- test("Passwords.create", t => {
- const password = { login: "text@example.org" };
- nock("https://lesspass.com")
- .post("/api/passwords/", password)
- .reply(201, { ...password, id: "1" });
- return Passwords.create(password, config).then(response => {
- const passwordCreated = response.data;
- t.is(passwordCreated.id, "1");
- t.is(passwordCreated.login, password.login);
- });
- });
-
- test("Passwords.create set Authorization header", t => {
- const password = { login: "text@example.org" };
- nock("https://lesspass.com", headers)
- .post("/api/passwords/", password)
- .query(true)
- .reply(201, {
- id: "1",
- ...password
- });
- return Passwords.create(password, config).then(response => {
- const passwordCreated = response.data;
- t.is(passwordCreated.id, "1");
- t.is(passwordCreated.login, password.login);
- });
- });
-
- test("Passwords.all", t => {
- nock("https://lesspass.com", headers)
- .get("/api/passwords/")
- .query(true)
- .reply(200, {});
- return Passwords.all(config).then(response => {
- t.is(response.status, 200);
- });
- });
-
- test("Passwords.get", t => {
- nock("https://lesspass.com", headers)
- .get("/api/passwords/c8e4f983-8ffe-b705-4064-d3b7aa4a4782/")
- .query(true)
- .reply(200, {});
- return Passwords.read(
- { id: "c8e4f983-8ffe-b705-4064-d3b7aa4a4782" },
- config
- ).then(response => {
- t.is(response.status, 200);
- });
- });
-
- test("Passwords.update", t => {
- const password = {
- id: "c8e4f983-4064-8ffe-b705-d3b7aa4a4782",
- login: "test@example.org"
- };
- nock("https://lesspass.com", headers)
- .put("/api/passwords/c8e4f983-4064-8ffe-b705-d3b7aa4a4782/", password)
- .query(true)
- .reply(200, {});
- return Passwords.update(password, config).then(response => {
- t.is(response.status, 200);
- });
- });
-
- test("Passwords.delete", t => {
- nock("https://lesspass.com", headers)
- .delete("/api/passwords/c8e4f983-8ffe-4064-b705-d3b7aa4a4782/")
- .query(true)
- .reply(204);
- return Passwords.delete(
- { id: "c8e4f983-8ffe-4064-b705-d3b7aa4a4782" },
- config
- ).then(response => {
- t.is(response.status, 204);
- });
- });
|