init source
This commit is contained in:
@@ -0,0 +1,139 @@
|
||||
// process.env.NODE_ENV = "test";
|
||||
|
||||
//Require the dev-dependencies
|
||||
let chai = require("chai");
|
||||
let chaiHttp = require("chai-http");
|
||||
let server = require("../src/app");
|
||||
let should = chai.should();
|
||||
|
||||
chai.use(chaiHttp);
|
||||
|
||||
// testing with a separate test database
|
||||
// clear data
|
||||
|
||||
/*
|
||||
* Test the /GET route
|
||||
*/
|
||||
describe("/GET root", () => {
|
||||
it("it should GET the root of the API", done => {
|
||||
chai
|
||||
.request(server)
|
||||
.get("/")
|
||||
.end((err, res) => {
|
||||
res.should.have.status(200);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("/GET root api", () => {
|
||||
it("it should GET root api", done => {
|
||||
chai
|
||||
.request(server)
|
||||
.get("/api")
|
||||
.end((err, res) => {
|
||||
res.should.have.status(200);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("/POST items", () => {
|
||||
it("it should POST item", done => {
|
||||
chai
|
||||
.request(server)
|
||||
.post("/api/items")
|
||||
.send({
|
||||
"name": "Cheese Pizza",
|
||||
"size": "Small",
|
||||
"isExtra": false,
|
||||
"price": 4.50,
|
||||
"status": "available"
|
||||
})
|
||||
.end((err, res) => {
|
||||
res.should.have.status(201);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("/PUT items/:itemId", () => {
|
||||
it("it should UPDATE item", done => {
|
||||
chai.request(server)
|
||||
.get('/api/items')
|
||||
.end(function(err, res){
|
||||
chai.request(server)
|
||||
.put('/api/items/'+res.body[0].id)
|
||||
.send({
|
||||
"name": "Cheese Pizza",
|
||||
"size": "Small",
|
||||
"price": 4.50,
|
||||
"status": "unavailable"
|
||||
})
|
||||
.end(function(error, response){
|
||||
response.should.have.status(200);
|
||||
response.should.be.json;
|
||||
response.body.should.be.a('object');
|
||||
response.body.should.have.property('name');
|
||||
response.body.should.have.property('size');
|
||||
response.body.should.have.property('price');
|
||||
response.body.should.have.property('status');
|
||||
response.body.should.have.property('id');
|
||||
response.body.name.should.equal('Cheese Pizza');
|
||||
response.body.status.should.equal('unavailable');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("/GET items", () => {
|
||||
it("it should GET all times", done => {
|
||||
chai
|
||||
.request(server)
|
||||
.get("/api/items")
|
||||
.end((err, res) => {
|
||||
res.should.have.status(200);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("/GET items/:itemId", () => {
|
||||
it("it should GET one item by id ", done => {
|
||||
chai.request(server)
|
||||
.get('/api/items')
|
||||
.end(function(err, res){
|
||||
chai.request(server)
|
||||
.get('/api/items/'+res.body[0].id)
|
||||
.end(function(error, response){
|
||||
response.should.have.status(200);
|
||||
response.should.be.json;
|
||||
response.body.should.be.a('object');
|
||||
response.body.should.have.property('name');
|
||||
response.body.should.have.property('size');
|
||||
response.body.should.have.property('price');
|
||||
response.body.should.have.property('status');
|
||||
response.body.should.have.property('id');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("/DELETE items", () => {
|
||||
it("it should DELETE the item", done => {
|
||||
chai.request(server)
|
||||
.get('/api/items')
|
||||
.end(function(err, res){
|
||||
chai.request(server)
|
||||
.delete('/api/items/'+res.body[0].id)
|
||||
.end(function(error, response){
|
||||
response.should.have.status(200);
|
||||
response.should.be.json;
|
||||
response.body.should.be.a('object');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user