/
admin.js
86 lines (78 loc) · 2.09 KB
/
admin.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/**
* Copyright (c) 2016, salesforce.com, inc.
* All rights reserved.
* Licensed under the BSD 3-Clause license.
* For full license text, see LICENSE.txt file in the repo root or
* https://opensource.org/licenses/BSD-3-Clause
*/
/**
* /tests/db/model/profile/admin.js
*/
'use strict';
const conf = require('../../../../config');
const expect = require('chai').expect;
const tu = require('../../../testUtils');
const Profile = tu.db.Profile;
const Op = require('sequelize').Op;
describe('tests/db/model/profile/admin.js >', () => {
let ap = null;
before((done) => {
Profile.findOne({
where: {
name: {
[Op.iLike]: conf.db.adminProfile.name,
},
},
})
.then((found) => {
ap = found;
done();
});
});
it('Admin profile exists', (done) => {
expect(ap).to.have.property('id');
done();
});
it('Cannot delete admin profile', (done) => {
ap.destroy()
.then(() => {
done(new Error('Expecting AdminUpdateDeleteForbidden'));
})
.catch((err) => {
expect(err.name).to.equal('AdminUpdateDeleteForbidden');
done();
});
});
it('Cannot update admin profile', (done) => {
ap.update({ lensAccess: 'r' })
.then(() => {
done(new Error('Expecting AdminUpdateDeleteForbidden'));
})
.catch((err) => {
expect(err.name).to.equal('AdminUpdateDeleteForbidden');
done();
});
});
it('Cannot create duplicate Admin profile', (done) => {
Profile.create(conf.db.adminProfile)
.then(() => {
done(new Error('Expecting SequelizeUniqueConstraintError'));
})
.catch((err) => {
expect(err.name).to.equal('SequelizeUniqueConstraintError');
done();
});
});
it('Cannot create duplicate Admin profile - case insensitive', (done) => {
const p = conf.db.adminProfile;
p.name = p.name.toLowerCase();
Profile.create(p)
.then(() => {
done(new Error('Expecting SequelizeUniqueConstraintError'));
})
.catch((err) => {
expect(err.name).to.equal('SequelizeUniqueConstraintError');
done();
});
});
}); // Admin Profile tests