Skip to content
Snippets Groups Projects
Commit ca65b858 authored by Henrique Varella Ehrenfried's avatar Henrique Varella Ehrenfried :speech_balloon:
Browse files

Continue to create automated tests

parent 390d6f43
No related branches found
No related tags found
No related merge requests found
......@@ -21,6 +21,10 @@
},
"registration": {
"type": "string"
},
"name": {
"type": "string",
"required": true
}
},
"validations": [],
......
const URL = "http://localhost:3000/api/";
const URL = 'http://localhost:3000/api/';
const randomLowerCase = function() {
let possible = 'abcdefghijklmnopqrstuvwxyz';
return (possible.charAt(Math.floor(Math.random() * possible.length)));
};
const randomUpperCase = function() {
let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
return (possible.charAt(Math.floor(Math.random() * possible.length)));
};
const randomNumber = function(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return (Math.floor(Math.random() * (max - min + 1)) + min);
};
const randomWord = function(num, allUpper = false, firstUpper = false) {
let word = '';
for (let i = 0; i < num; i++) {
if (!allUpper) {
if (i == 0 && firstUpper) {
word = word + randomUpperCase();
} else {
word = word + randomLowerCase();
}
} else {
word = word + randomUpperCase();
}
}
return word;
};
module.exports = {
URL
}
\ No newline at end of file
URL,
randomLowerCase,
randomUpperCase,
randomNumber,
randomWord,
};
......@@ -9,7 +9,7 @@
"lint": "eslint .",
"start": "node .",
"posttest": "npm run lint && nsp check",
"tests":"mocha ./test"
"tests": "mocha ./test"
},
"dependencies": {
"compression": "^1.0.3",
......
var chakram = require('chakram'), expect = chakram.expect;
var url = require('../enviroment')
const URL = url.URL;
var env = require('../enviroment');
const URL = env.URL;
describe("Account", function() {
it("should create an admin account", function (){
let testObject = {
"email": "admin@admin.com",
"permission": "admin",
"registration": "NMBR#123456789",
"username": "Administrador Atencioso",
"password":"admin"
}
return chakram.post(`${URL}end_users`,testObject).then( function (myResponse){
expect(myResponse).to.have.status(200)
expect(myResponse.body.result.permission).to.contain('admin')
});
describe('Account', function() {
it('should create an admin account', function() {
let name = env.randomWord(env.randomNumber(1, 25));
let testObject = {
'email': `${name}@admin.com`,
'permission': 'admin',
'registration': 'NMBR#123456789',
'username': `${name}`,
'name': `${name.replace(/\b\w/g, l => l.toUpperCase())}`,
'password': 'admin',
};
return chakram.post(`${URL}end_users`, testObject).then(function(myResponse) {
expect(myResponse).to.have.status(200);
expect(myResponse.body.result.permission).to.contain('admin');
});
it("should create an user account", function (){
let testObject = {
"email": "enduser@enduser.com",
"permission": "user",
"registration": "NMBR#321654987",
"username": "Usuário Feliz",
"password":"end_user"
}
return chakram.post(`${URL}end_users`,testObject).then( function (myResponse){
expect(myResponse).to.have.status(200)
expect(myResponse.body.result.permission).to.contain('user')
});
});
it('should create an user account', function() {
let name = env.randomWord(env.randomNumber(1, 25));
let testObject = {
'email': `${name}@enduser.com`,
'permission': 'user',
'registration': 'NMBR#321654987',
'username': `${name}`,
'name': `${name.replace(/\b\w/g, l => l.toUpperCase())}`,
'password': 'end_user',
};
return chakram.post(`${URL}end_users`, testObject).then(function(myResponse) {
expect(myResponse).to.have.status(200);
expect(myResponse.body.result.permission).to.contain('user');
});
})
\ No newline at end of file
});
it('should login to an admin account', function() {
let testObject = {
'email': 'abc@admin.com',
'password': 'admin',
};
return chakram.post(`${URL}end_users/login`, testObject).then(function(myResponse) {
expect(myResponse).to.have.status(200);
expect(myResponse.body.result).to.be.a('object');
});
});
it('should login to an user account', function() {
let testObject = {
'email': 'user@user.com',
'password': 'user',
};
return chakram.post(`${URL}end_users/login`, testObject).then(function(myResponse) {
expect(myResponse).to.have.status(200);
expect(myResponse.body.result).to.be.a('object');
});
});
it('should logout', function() {
let testObject = {
'email': 'user@user.com',
'password': 'user',
};
return chakram.post(`${URL}end_users/login`, testObject).then(function(myResponse) {
return chakram.post(`${URL}end_users/logout?access_token=${myResponse.body.result.id}`).then(function(myResponse2) {
expect(myResponse2).to.have.status(200);
});
});
});
});
var chakram = require('chakram'), expect = chakram.expect;
var url = require('../enviroment')
const URL = url.URL;
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')
});
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 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.message).to.contain("Authorization Required")
});
});
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 create a new category as admin", 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.message).to.contain("Authorization Required")
// });
// });
})
\ No newline at end of file
});
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');
});
});
});
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment