Files
2026-05-13 20:03:28 +03:00

89 lines
2.1 KiB
JavaScript

const expect = require('chai').expect
const users = require('../users')
const Fixtures = require('./fixtures')
const context = require('./context')()
describe('modules.users', function() {
before(function(){
context.values = {
team: context.config.define.team,
channels: {
'admin@conference.example.com': {
team: 'test',
name: 'admin',
display_name: 'Admin',
header: 'Admin Test room',
purpose: 'Admin Test room',
type: 'O'
},
'uat-appsupport@conference.example.com': {
team: 'hsin',
name: 'uat-appsupport',
display_name: 'Uat Appsupport',
header: '',
purpose: '',
type: 'P'
}
}
}
})
it('should process user objects', function(done) {
context.jabber.fetch.returns(Promise.resolve({recordset: Fixtures.users}))
users(context).then(function(c) {
expect(c).to.equal(context)
expect(Object.keys(c.values.users).length).equals(13)
expect(c.output.write.args[0][0]).to.deep.equal({
type: 'user',
user: {
username: 'micahel.cross',
email: 'micahel.cross@example.com',
auth_service: 'ldap',
auth_data: 'MICAHEL.CROSS',
teams: [
{
name: 'test',
channels: [
{
name: 'admin'
}, {
name: 'uat-appsupport'
}
]
}
]
}
})
expect(c.output.write.args[1][0]).to.deep.equal({
type: 'user',
user: {
username: 'sbarclay',
email: 'sbarclay@example.com',
auth_service: 'ldap',
auth_data: 'SBARCLAY',
teams: [
{
name: 'test',
channels: [
{
name: 'admin'
}
]
}
]
}
})
done()
})
})
afterEach(function() {
context.jabber.fetch.reset()
context.output.write.reset()
})
})