57 lines
2 KiB
JavaScript
57 lines
2 KiB
JavaScript
import config from '../lib/config'
|
|
import Preferences from '../lib/Preferences'
|
|
|
|
const prefs = new Preferences(config.username, config.password)
|
|
|
|
describe('preferences', function() {
|
|
|
|
// preferencesTest
|
|
|
|
const _setTextPref = async function(prefText) {
|
|
await prefs.set('autoReplyText', prefText)
|
|
const prefData = await prefs.get('Vacation')
|
|
|
|
expect(prefData.autoReplyText)
|
|
.withContext(`Set a text preference to a known value`)
|
|
.toEqual(prefText)
|
|
}
|
|
|
|
beforeAll(async function() {
|
|
// because if not set in vacation will not be found later
|
|
// we must make sure they are there at the start
|
|
await prefs.setOrCreate('autoReplyText', '', ['defaults', 'Vacation'])
|
|
await prefs.setOrCreate('PreventInvitations', 0, ['settings', 'Calendar'])
|
|
await prefs.setOrCreate('PreventInvitationsWhitelist', {}, ['settings', 'Calendar'])
|
|
})
|
|
|
|
it('Set/get a text preference - normal characters', async function() {
|
|
await _setTextPref('defaultText')
|
|
})
|
|
|
|
it('Set/get a text preference - weird characters - used to crash on 1.3.12', async function() {
|
|
const prefText = `weird data \ ' \"; ^`
|
|
await _setTextPref(prefText)
|
|
})
|
|
|
|
it('Set/get the PreventInvitation pref', async function() {
|
|
await prefs.set('PreventInvitations', 0)
|
|
const notset = await prefs.get('Calendar', false)
|
|
expect(notset.PreventInvitations)
|
|
.withContext(`Set/get Settings/Calendar/PreventInvitations (0)`)
|
|
.toEqual(0)
|
|
await prefs.set('PreventInvitations', 1)
|
|
const isset = await prefs.get('Calendar', false)
|
|
expect(isset.PreventInvitations)
|
|
.withContext(`Set/get Settings/Calendar/PreventInvitations (1)`)
|
|
.toEqual(1)
|
|
})
|
|
|
|
it('Set/get the PreventInvitations Whitelist', async function() {
|
|
await prefs.set('PreventInvitationsWhitelist', config.white_listed_attendee)
|
|
const whitelist = await prefs.get('Calendar', false)
|
|
expect(whitelist.PreventInvitationsWhitelist)
|
|
.withContext(`Set/get Settings/Calendar/PreventInvitationsWhitelist`)
|
|
.toEqual(config.white_listed_attendee)
|
|
})
|
|
})
|