You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vue-shop-admin-work/test/api/private/v1/roles.test.js

126 lines
3.0 KiB

var _ = require('lodash');
var path = require("path");
// 设置测试环境
process.env.NODE_ENV = 'test';
var chai = require('chai');
var chaiHttp = require('chai-http');
var app = require(path.join(process.cwd(),"app"));
chai.use(chaiHttp);
var common = require("../common/common.js");
var config = require(path.join(process.cwd(),"test/configs/config"));
var loginURL = config.baseURL + "login";
var url = config.baseURL + "roles";
describe(url + " role api testing",function() {
// manager's token
var token;
// new role data
var testRole = {
roleName:"__test_role_name",
roleDesc:"__test_role_desc"
};
var roleId = -1;
before(function(done) {
// The api access must be logged in
common.login(config.username,config.password,function(err,res){
chai.assert.equal(res.body.meta.status,200,res.body.meta.msg);
token = res.body.data.token;
done();
});
});
after(function(done) {
done();
});
it("test to add a new role",function(done){
chai
.request(app)
.post(url)
.set({"Authorization": token})
.send(testRole)
.end(function(err,res){
chai.assert.equal(res.body.meta.status,201,res.body.meta.msg);
chai.assert.isNotNull(res.body.data,"The result is empty");
if(res.body.data) {
roleId = res.body.data.roleId;
}
done();
});
});
it("test to get role's destail",function(done){
var getURL = url + "/" + roleId;
chai
.request(app)
.get(getURL)
.set({"Authorization": token})
.end(function(err,res) {
chai.assert.equal(res.body.meta.status,200,res.body.meta.msg);
chai.assert.isNotNull(res.body.data,"The result is empty");
done();
});
});
it("test to get role's list",function(done){
chai
.request(app)
.get(url)
.set({"Authorization": token})
.end(function(err,res){
chai.assert.equal(res.body.meta.status,200,res.body.meta.msg);
chai.assert.isOk(res.body.data.length > 0,"获取角色列表失败");
done();
});
});
it("test to update role's info",function(done){
var newRoleName = "__test_new_role_name";
var newRoleDesc = "__test_new_role_desc";
var updateURL = url + "/" + roleId;
chai
.request(app)
.put(updateURL)
.set({"Authorization": token})
.send({
"roleName" : newRoleName,
"roleDesc" : newRoleDesc
})
.end(function(err,res){
chai.assert.equal(res.body.meta.status,200,res.body.meta.msg);
chai.assert.equal(res.body.data.roleName,newRoleName,"The role's name is not updated");
chai.assert.equal(res.body.data.roleDesc,newRoleDesc,"The role's desc is not updated");
done();
});
});
// /:id/rights
it("test to authorize for role",function(done) {
// done();
});
// /:id/rights/:rightId
it("test to revoke authorization for role",function(done){
// done();
});
it("test to delete role",function(done) {
chai.assert.isOk(roleId > 0,"delete failure");
if(roleId > 0) {
var delURL = url + "/" + roleId;
chai
.request(app)
.del(delURL)
.set({"Authorization": token})
.end(function(err,res){
chai.assert.equal(res.body.meta.status,200,res.body.meta.msg);
done();
});
}
});
});