133 lines
2.8 KiB
JavaScript
133 lines
2.8 KiB
JavaScript
/* eslint-disable jest/no-test-callback */
|
|
import { createBrand, truncate } from "./utils/common";
|
|
|
|
import models from "../models";
|
|
import Brands from "../rules/Brands";
|
|
import Middelware from "../index";
|
|
|
|
let brand = {};
|
|
|
|
describe("deleteOne", () => {
|
|
beforeAll(done => {
|
|
createBrand((err, item) => {
|
|
if (err) {
|
|
done(err);
|
|
} else {
|
|
brand = item;
|
|
done();
|
|
}
|
|
});
|
|
});
|
|
|
|
afterAll(done => {
|
|
truncate(["Brands"], done);
|
|
});
|
|
|
|
test("It should return 401.1 if guest tries to delete item", async done => {
|
|
const middleware = new Middelware(Brands, models);
|
|
const req = {
|
|
method: "DELETE",
|
|
user: null,
|
|
params: {
|
|
brandId: brand.id
|
|
},
|
|
query: {},
|
|
protocol: "http",
|
|
get: () => {
|
|
return "internal.test/";
|
|
},
|
|
originalUrl: "v1/"
|
|
};
|
|
|
|
middleware.deleteOne(req, (err, res) => {
|
|
expect(res).toBeUndefined();
|
|
expect(parseFloat(err.errorCode)).toBe(401.1);
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
test("It should return 401.1 if bad role tries to delete item", async done => {
|
|
const middleware = new Middelware(Brands, models);
|
|
const req = {
|
|
method: "DELETE",
|
|
user: {
|
|
role: "user"
|
|
},
|
|
params: {
|
|
brandId: brand.id
|
|
},
|
|
query: {},
|
|
protocol: "http",
|
|
get: () => {
|
|
return "internal.test/";
|
|
},
|
|
originalUrl: "v1/"
|
|
};
|
|
|
|
middleware.deleteOne(req, (err, res) => {
|
|
expect(res).toBeUndefined();
|
|
expect(parseFloat(err.errorCode)).toBe(401.1);
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
test("It should return empty item if allowed user delete item", async done => {
|
|
const middleware = new Middelware(Brands, models);
|
|
const req = {
|
|
method: "DELETE",
|
|
user: {
|
|
role: "admin"
|
|
},
|
|
params: {
|
|
brandId: brand.id
|
|
},
|
|
query: {},
|
|
body: {
|
|
name: "TEST"
|
|
},
|
|
protocol: "http",
|
|
get: () => {
|
|
return "internal.test/";
|
|
},
|
|
originalUrl: "v1/"
|
|
};
|
|
|
|
middleware.deleteOne(req, (err, res) => {
|
|
expect(err).toBeNull();
|
|
expect(res).toEqual({});
|
|
|
|
done();
|
|
});
|
|
});
|
|
|
|
test("It should return 404.0 if allowed user tries to delete not found item", async done => {
|
|
const middleware = new Middelware(Brands, models);
|
|
const req = {
|
|
method: "DELETE",
|
|
user: {
|
|
role: "admin"
|
|
},
|
|
params: {
|
|
brandId: brand.id
|
|
},
|
|
query: {},
|
|
body: {
|
|
name: "TEST"
|
|
},
|
|
protocol: "http",
|
|
get: () => {
|
|
return "internal.test/";
|
|
},
|
|
originalUrl: "v1/"
|
|
};
|
|
|
|
middleware.deleteOne(req, (err, res) => {
|
|
expect(res).toBeUndefined();
|
|
expect(parseFloat(err.errorCode)).toBe(404.0);
|
|
|
|
done();
|
|
});
|
|
});
|
|
});
|