sogo/Tests/spec/DAVCalendarClassificationSp...

50 lines
1.7 KiB
JavaScript

import config from '../lib/config'
import { default as WebDAV, DAVInverse } from '../lib/WebDAV'
describe('calendar classification', function() {
const webdav = new WebDAV(config.username, config.password)
const _setClassification = async function(component, classification = '') {
const resource = `/SOGo/dav/${config.username}/Calendar/`
const properties = { [`${component}-default-classification`]: classification }
const results = await webdav.proppatchWebdav(resource, properties, DAVInverse)
expect(results.length)
.withContext(`Set ${component} classification to ${classification}`)
.toBe(1)
return results[0].status
}
// HTTPDefaultClassificationTest
it('expected failure when setting a classification with an invalid property', async function() {
let status
status = await _setClassification('123456', 'PUBLIC')
expect(status)
.withContext('Setting an invalid classification property')
.toBe(403)
status = await _setClassification('events', '')
expect(status)
.withContext('Setting an empty classification')
.toBe(403)
status = await _setClassification('events', 'pouet')
expect(status)
.withContext('Setting an invalid classification')
.toBe(403)
})
it('setting a valid classification', async function() {
for (let component of ['events', 'tasks']) {
for (let classification of ['PUBLIC', 'PRIVATE', 'CONFIDENTIAL']) {
const status = await _setClassification(component, classification)
expect(status)
.withContext(`Set ${component} classification to ${classification}`)
.toBe(207)
}
}
})
})