Wip tests
This commit is contained in:
parent
e0872d1095
commit
3a2e2aa878
89
js/components/__tests__/edit_environment_role.test.js
Normal file
89
js/components/__tests__/edit_environment_role.test.js
Normal file
@ -0,0 +1,89 @@
|
||||
import { shallowMount } from '@vue/test-utils'
|
||||
import EditEnvironmentRole from '../forms/edit_environment_role'
|
||||
|
||||
describe('EditEnvironmentRole', () => {
|
||||
var initialRoles, wrapper
|
||||
|
||||
beforeEach(() => {
|
||||
initialRoles = [
|
||||
{
|
||||
role: 'no_access',
|
||||
members: [
|
||||
{ role: null, user_id: '123' },
|
||||
{ role: null, user_id: '456' },
|
||||
],
|
||||
},
|
||||
{
|
||||
role: 'Basic Access',
|
||||
members: [{ role: 'Basic Access', user_id: '789' }],
|
||||
},
|
||||
{
|
||||
role: 'Network Admin',
|
||||
members: [],
|
||||
},
|
||||
{
|
||||
role: 'Business Read-only',
|
||||
members: [
|
||||
{ role: 'Business Read-only', user_id: '012' },
|
||||
{ role: 'Business Read-only', user_id: '345' },
|
||||
],
|
||||
},
|
||||
{
|
||||
role: 'Technical Read-only',
|
||||
members: [{ role: 'Technical Read-only', user_id: '678' }],
|
||||
},
|
||||
]
|
||||
|
||||
wrapper = shallowMount(EditEnvironmentRole, { propsData: { initialRoles } })
|
||||
})
|
||||
|
||||
it('removes null roles to no_access', () => {
|
||||
let roles = wrapper.vm.sanitizeValues([
|
||||
{ role: 'no_access', members: [{ role: null }] },
|
||||
])
|
||||
expect(roles).toEqual([
|
||||
{ role: 'no_access', members: [{ role: 'no_access' }] },
|
||||
])
|
||||
})
|
||||
|
||||
it('gets the data for a user', () => {
|
||||
let member_data = wrapper.vm.getUserInfo('678')
|
||||
|
||||
expect(member_data).toEqual({ role: 'Technical Read-only', user_id: '678' })
|
||||
})
|
||||
|
||||
it('removes a user from role', () => {
|
||||
let techRole = wrapper.vm.roles.find(role => {
|
||||
return role.role === 'Technical Read-only'
|
||||
})
|
||||
|
||||
expect(techRole.members.length).toEqual(1)
|
||||
wrapper.vm.removeUser('678')
|
||||
expect(techRole.members.length).toEqual(0)
|
||||
})
|
||||
|
||||
it('adds user to a role', () => {
|
||||
let techRole = wrapper.vm.roles.find(role => {
|
||||
return role.role === 'Technical Read-only'
|
||||
})
|
||||
|
||||
expect(techRole.members.length).toEqual(1)
|
||||
wrapper.vm.addUser({ user_id: '901' }, 'Technical Read-only')
|
||||
expect(techRole.members.length).toEqual(2)
|
||||
})
|
||||
|
||||
it('updates users role', () => {
|
||||
let techRole = wrapper.vm.roles.find(role => {
|
||||
return role.role === 'Technical Read-only'
|
||||
})
|
||||
let businessRole = wrapper.vm.roles.find(role => {
|
||||
return role.role === 'Business Read-only'
|
||||
})
|
||||
|
||||
expect(techRole.members.length).toEqual(1)
|
||||
expect(businessRole.members.length).toEqual(2)
|
||||
wrapper.vm.updateRoles('678', 'Business Read-only')
|
||||
expect(techRole.members.length).toEqual(0)
|
||||
expect(businessRole.members.length).toEqual(3)
|
||||
})
|
||||
})
|
@ -1,7 +1,6 @@
|
||||
import FormMixin from '../../mixins/form'
|
||||
import Modal from '../../mixins/modal'
|
||||
|
||||
|
||||
// Note: If refactoring consider using nested vue components as suggested by Dan:
|
||||
// https://github.com/dod-ccpo/atst/pull/799/files#r282240663
|
||||
// May also want to reconsider the data structure by storing the roles and members separately
|
||||
@ -90,4 +89,8 @@ export default {
|
||||
this.toggleSection()
|
||||
},
|
||||
},
|
||||
|
||||
render: function(createElement) {
|
||||
return createElement('p', 'Please implement inline-template')
|
||||
},
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user