var chakram = require('chakram'), expect = chakram.expect; var env = require('../enviroment'); const URL = env.URL; describe('Categories', function() { it('should return all categories', function() { return chakram.get(`${URL}categories`).then(function(myResponse) { expect(myResponse).to.have.status(200); expect(myResponse.body.result).to.be.a('array'); }); }); it('should return one category', function() { return chakram.get(`${URL}categories`).then(function(myResponse) { let category = myResponse.body.result[0]; return chakram.get(`${URL}categories/${myResponse.body.result[0].id}`).then(function(myResponse2) { expect(myResponse2).to.have.status(200); expect(myResponse2.body.result.category_name).to.contain(category.category_name); }); }); }); it('should try to create a new category', function() { let testObject = { 'category_name': 'Terreiro', 'category_description': 'Lugar que mantém as tradições dos afrodescendentes', }; return chakram.post(`${URL}categories`, testObject).then(function(myResponse) { expect(myResponse).to.have.status(401); expect(myResponse.body.error.code).to.contain('AUTHORIZATION_REQUIRED'); }); }); it('should try to create a new category as user', function(){ let testObject = { 'email': 'user@user.com', 'password': 'user', }; let testObject2 = { 'category_name': 'Terreiro', 'category_description': 'Lugar que mantém as tradições dos afrodescendentes', }; return chakram.post(`${URL}end_users/login`, testObject).then(function(myResponse) { return chakram.post(`${URL}categories?access_token=${myResponse.body.result.id}`, testObject2).then(function(myResponse2) { expect(myResponse2).to.have.status(401); expect(myResponse2.body.error.code).to.contain('AUTHORIZATION_REQUIRED'); }); }); }); it('should create a new category as admin', function() { let testObject = { 'email': 'abc@admin.com', 'password': 'admin', }; let testObject2 = { 'category_name': 'Terreiro' + env.randomWord(15, true), 'category_description': 'Lugar que mantém as tradições dos afrodescendentes', }; return chakram.post(`${URL}end_users/login`, testObject).then(function(myResponse) { return chakram.post(`${URL}categories?access_token=${myResponse.body.result.id}`, testObject2).then(function(myResponse2) { expect(myResponse2).to.have.status(200); expect(myResponse2.body.result).to.be.a('object'); }); }); }); });