Skip to content
Snippets Groups Projects
Commit 58760ac4 authored by Angelina Filippova's avatar Angelina Filippova
Browse files

Add tests for wrapping setting without keys

parent eabc4464
No related branches found
No related tags found
1 merge request!65Update server configuration
......@@ -4,44 +4,44 @@ import _ from 'lodash'
describe('Partial update', () => {
it('partial update for settings that do not allow partial update', () => {
const settings = { ':auto_linker': { ':opts':
{ ':strip_prefix': true, ':new_window': false, ':rel': "ugc", ':truncate': 3 }
{ ':strip_prefix': true, ':new_window': false, ':rel': 'ugc', ':truncate': 3 }
}}
const updatedSettings = { ':auto_linker': { ':opts': { ':new_window': false }}}
const description = [{
children: [
{ key: ":strip_prefix", type: "boolean" },
{ key: ":truncate", type: ["integer", false] },
{ key: ":new_window", type: "boolean" }],
description: "Configuration for the auto_linker library",
group: ":auto_linker",
key: ":opts",
label: "Opts",
type: "group"
{ key: ':strip_prefix', type: 'boolean' },
{ key: ':truncate', type: ['integer', false] },
{ key: ':new_window', type: 'boolean' }],
description: 'Configuration for the auto_linker library',
group: ':auto_linker',
key: ':opts',
label: 'Opts',
type: 'group'
}]
const expectedData = { ':auto_linker': { ':opts': {
':strip_prefix': ["boolean", true],
':new_window': ["boolean", false],
':rel': ['', "ugc"],
':truncate': [["integer", false], 3]
':strip_prefix': ['boolean', true],
':new_window': ['boolean', false],
':rel': ['', 'ugc'],
':truncate': [['integer', false], 3]
}}}
const updatedData = checkPartialUpdate(settings, updatedSettings, description)
expect(_.isEqual(updatedData, expectedData)).toBeTruthy()
})
it('partial update for settings that allow partial update', () => {
const settings = { ':pleroma': { 'Pleroma.Captcha': { ':enabled': true, ':seconds_valid': 70, ':method': "Pleroma.Captcha.Kocaptcha" }}}
const updatedSettings = { ':pleroma': { 'Pleroma.Captcha': { ':seconds_valid': ["integer", 70] }}}
const settings = { ':pleroma': { 'Pleroma.Captcha': { ':enabled': true, ':seconds_valid': 70, ':method': 'Pleroma.Captcha.Kocaptcha' }}}
const updatedSettings = { ':pleroma': { 'Pleroma.Captcha': { ':seconds_valid': ['integer', 70] }}}
const description = [{
children: [],
description: "Captcha-related settings",
group: ":pleroma",
key: "Pleroma.Captcha",
label: "Pleroma.Captcha",
type: "group"
description: 'Captcha-related settings',
group: ':pleroma',
key: 'Pleroma.Captcha',
label: 'Pleroma.Captcha',
type: 'group'
}]
const expectedData = { ':pleroma': { 'Pleroma.Captcha': { ':seconds_valid': ["integer", 70] }}}
const expectedData = { ':pleroma': { 'Pleroma.Captcha': { ':seconds_valid': ['integer', 70] }}}
const updatedData = checkPartialUpdate(settings, updatedSettings, description)
expect(_.isEqual(updatedData, expectedData)).toBeTruthy()
})
......
import { wrapUpdatedSettings } from '@/store/modules/normalizers'
import _ from 'lodash'
describe('Wrap settings', () => {
it('wraps values without keys with type atom', () => {
const settings = { ':level': { _value: ['atom', 'warn'] }}
const result = wrapUpdatedSettings(':quack', settings, {})
const expectedResult = [{ group: ':quack', key: ':level', value: ':warn' }]
expect(_.isEqual(result, expectedResult)).toBeTruthy()
})
it('wraps :backends setting in group :logger', () => {
const settings = { ':backends': { _value:
[['atom', 'tuple', 'module'], [':console', 'Quack.Logger', ':ex_syslogger']]
}}
const result = wrapUpdatedSettings(':logger', settings, {})
const expectedResult = [{
group: ':logger',
key: ':backends',
value: [':console', 'Quack.Logger', { 'tuple': ['ExSyslogger', ':ex_syslogger'] }]
}]
expect(_.isEqual(result, expectedResult)).toBeTruthy()
})
it('wraps :types setting in group :mime', () => {
const settings = { ':types': { _value: ['map', {
'application/ld+json': [['list', 'string'], ['activity+json']],
'application/xml': [['list', 'string'], ['xml']],
'application/xrd+xml': [['list', 'string'], ['xrd+xml']]
}]}}
const result = wrapUpdatedSettings(':mime', settings, {})
const expectedResult = [{
group: ':mime',
key: ':types', value: {
'application/ld+json': ['activity+json'],
'application/xml': ['xml'],
'application/xrd+xml': ['xrd+xml']
}
}]
expect(_.isEqual(result, expectedResult)).toBeTruthy()
})
})
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment