generated from Seekra/repository-template
Add settings validator unit test #113
@@ -138,6 +138,71 @@ describe('validateSettingsConfig', () => {
|
||||
},
|
||||
]
|
||||
}, expected: true },
|
||||
{ raw: {
|
||||
contents: [
|
||||
{
|
||||
type: 'section',
|
||||
name: 'general',
|
||||
i18n: 'settings.settings.general',
|
||||
content: [
|
||||
{
|
||||
type: 'bool',
|
||||
name: 'Enable feature 42',
|
||||
i18n: 'settings.settings.general.enableFeature42'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'section',
|
||||
name: 'copyOfGeneral',
|
||||
i18n: 'settings.settings.copyOfGeneral',
|
||||
content: [
|
||||
{
|
||||
type: 'bool',
|
||||
name: 'Enable feature 42',
|
||||
default: false,
|
||||
i18n: 'settings.settings.general.enableFeature42'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'section',
|
||||
name: 'aSection',
|
||||
i18n: 'settings.settings.aSection',
|
||||
content: [
|
||||
{
|
||||
type: 'bool',
|
||||
name: 'Enable feature 43',
|
||||
i18n: 'settings.settings.aSection.enableFeature43'
|
||||
},
|
||||
{
|
||||
type: 'selection',
|
||||
name: 'language',
|
||||
i18n: 'settings.settings.aSection.language.label',
|
||||
default: 'en',
|
||||
allowMultiple: false,
|
||||
options: [
|
||||
{ name: 'en', i18n: 'settings.settings.aSection.language.options.en' },
|
||||
{ name: 'de', i18n: 'settings.settings.aSection.language.options.de' },
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'section',
|
||||
name: 'section2',
|
||||
i18n: 'settings.settings.aSection.section2.label',
|
||||
content: [
|
||||
{
|
||||
type: 'string',
|
||||
name: 'string',
|
||||
i18n: 'settings.settings.aSection.sections.string',
|
||||
default: 'str'
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}, expected: true },
|
||||
{ raw: {
|
||||
contents: [
|
||||
{
|
||||
@@ -331,6 +396,71 @@ describe('validateSettingsConfig', () => {
|
||||
},
|
||||
]
|
||||
}, expected: false },
|
||||
{ raw: {
|
||||
content: [
|
||||
{
|
||||
type: 'sectio',
|
||||
name: 'general',
|
||||
i18n: 'settings.settings.general',
|
||||
content: [
|
||||
{
|
||||
type: 'bool',
|
||||
name: 'Enable feature 42',
|
||||
i18n: 'settings.settings.general.enableFeature42'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'section',
|
||||
name: 'copyOfGeneral',
|
||||
i18n: 'settings.settings.copyOfGeneral',
|
||||
content: [
|
||||
{
|
||||
type: 'bool',
|
||||
name: 'Enable feature 42',
|
||||
default: false,
|
||||
i18n: 'settings.settings.general.enableFeature42'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'section',
|
||||
name: 'aSection',
|
||||
i18n: 'settings.settings.aSection',
|
||||
content: [
|
||||
{
|
||||
type: 'bool',
|
||||
name: 'Enable feature 43',
|
||||
i18n: 'settings.settings.aSection.enableFeature43'
|
||||
},
|
||||
{
|
||||
type: 'selection',
|
||||
name: 'language',
|
||||
i18n: 'settings.settings.aSection.language.label',
|
||||
default: 'en',
|
||||
allowMultiple: 'false',
|
||||
options: [
|
||||
{ name: 'en', i18n: 'settings.settings.aSection.language.options.en' },
|
||||
{ name: 'de', i18n: 'settings.settings.aSection.language.options.de' },
|
||||
]
|
||||
},
|
||||
{
|
||||
type: 'section',
|
||||
name: 'section2',
|
||||
i18n: 'settings.settings.aSection.section2.label',
|
||||
content: [
|
||||
{
|
||||
type: 'string',
|
||||
name: 'string',
|
||||
i18n: 'settings.settings.aSection.sections.string',
|
||||
default: 'str'
|
||||
}
|
||||
]
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}, expected: false }
|
||||
])('returns valid: $expected', ({ raw, expected }) => {
|
||||
const result = validateSettingsConfig(raw);
|
||||
if (!result.valid) {
|
||||
@@ -435,6 +565,11 @@ describe('validateEntry', () => {
|
||||
{ name: 'b', i18n: '' },
|
||||
{ name: 'c' }
|
||||
] }],
|
||||
[{ name: 'selectSomething', type: 'selection', i18n: 'selectSomething.title', default: 'a', allowMultiple: 'false', options: [
|
||||
{ name: 'a', i18n: 'a' },
|
||||
{ name: 'b', i18n: '' },
|
||||
{ name: 'c' }
|
||||
] }],
|
||||
|
||||
[{ name: 'selectSomething', type: 'selection', i18n: 'selectSomething.title', default: 'no', options: [
|
||||
{ name: 'yes', i18n: '' },
|
||||
|
||||
Reference in New Issue
Block a user