admin-fe/test/views/settings/settingFollowsRules.test.js

35 lines
No EOL
1.3 KiB
JavaScript

import { settingFollowsRules } from '@/views/settings/rules'
describe('Check if settings follow rules', () => {
it('does not render :proxy_remote when local :uploader is selected', () => {
const state = { ':pleroma': { 'Pleroma.Upload': { ':uploader': 'Pleroma.Uploaders.Local' }}}
expect(settingFollowsRules(':proxy_remote', 'Pleroma.Upload', state)).toBeFalsy()
})
it('render :proxy_remote when local :uploader is not selected', () => {
const state = { ':pleroma': { 'Pleroma.Upload': { ':uploader': 'Pleroma.Uploaders.S3' }}}
expect(settingFollowsRules(':proxy_remote', 'Pleroma.Upload', state)).toBeTruthy()
})
it('render setting when there is no rule', () => {
const state = { ':pleroma': { 'Pleroma.Upload': { ':uploader': 'Pleroma.Uploaders.Local' }}}
expect(settingFollowsRules(':filters', 'Pleroma.Upload', state)).toBeTruthy()
})
it('render setting when one of the keys is undefined', () => {
const state = { ':pleroma': {}}
expect(settingFollowsRules(':level', undefined, state)).toBeTruthy()
expect(settingFollowsRules(':admin_token', undefined, state)).toBeTruthy()
})
it('render setting when state is empty', () => {
const state = { ':pleroma': { 'Pleroma.Upload': {}}}
expect(settingFollowsRules(':proxy_remote', 'Pleroma.Upload', state)).toBeTruthy()
})
})