slouch/test/spec/security.js
Geoff Cox da7ca1123e 100% coverage (#4)
* doc(readme): clean up reasons

* doc(motto)

* test(db-and-doc): more coverage

* test(create-or-update-ignore-conflict)

* test(upsert)

* test(ignore-missing)

* test(post-and-ignore-conflict)

* test(get-merge-put)

* refactor(all): rename post and put

* test(get-merge-create-or-update)

* test(get-merge-update-ignore-conflict)

* test(get-merge-upsert)

* test(get-modify-upsert)

* refactor(doc): redundant code

* test(destroy-ignore-conflict)

* test(get-and-destroy)

* test(mark-as-destroyed)

* test(set-destroyed)

* refactor(attachment)

* test(doc): 100% coverage

* test(attachment): create with base 64

* test(attachment): clean up binary code

* test(attachment): get

* test(attachment): destroy

* test(system): is couchdb 1

* test(system): get

* test(system): reset

* test(updates)

* test(updates)

* test(all): unique DB names

* test(system): reactivate tests

* test(user): add role

* test(user): downsert role

* feat(stream-iterator): indefinite

* test(user): 100% coverage

* test(request-class)

* test(request-class): 100% coverage

* test(config)

* test(config): more coverage

* test(config): more coverage

* test(config): 100% coverage

* test(all): 100% coverage

* refactor(beautify)

* test(coverage): enforce 100%

* test(system): fix race condition

* test(user): shortcut for browser

* test(updates): test continuous stream in phantomjs

* test(updates): test continuous stream in phantomjs

* test(continuous): mock for phantomjs

* test(system): abort iterators

* test(system): fake abort
2017-07-18 07:45:32 -07:00

40 lines
888 B
JavaScript

'use strict';
var Slouch = require('../../scripts'),
utils = require('../utils');
describe('security', function () {
var slouch = new Slouch(utils.couchDBURL());
beforeEach(function () {
return utils.createDB();
});
afterEach(function () {
return utils.destroyDB();
});
it('should set and get security', function () {
var security = {
'admins': {
'names': ['joe', 'phil'],
'roles': ['boss']
},
'members': {
'names': ['dave'],
'roles': ['producer', 'consumer']
}
};
return slouch.security.set(utils.createdDB, security).then(function () {
return slouch.security.get(utils.createdDB);
}).then(function (_security) {
_security.should.eql(security);
});
});
it('only admin can view', function () {
return slouch.security.onlyAdminCanView(utils.createdDB);
});
});