61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { shallowMount } from '@vue/test-utils'
 | |
| 
 | |
| import MembersList from '../members_list'
 | |
| 
 | |
| describe('MembersList', () => {
 | |
|   const members = [
 | |
|     {
 | |
|       name: 'Luke Skywalker',
 | |
|       num_env: 2,
 | |
|       status: 'active',
 | |
|       role: 'developer',
 | |
|     },
 | |
|     {
 | |
|       name: 'Chewie',
 | |
|       num_env: 3,
 | |
|       status: 'pending',
 | |
|       role: 'admin',
 | |
|     },
 | |
|   ]
 | |
|   const role_choices = [
 | |
|     { display_name: 'Developer', name: 'developer' },
 | |
|     { display_name: 'Admin', name: 'admin' },
 | |
|   ]
 | |
|   const status_choices = [
 | |
|     { display_name: 'Active', name: 'active' },
 | |
|     { display_name: 'Pending', name: 'pending' },
 | |
|   ]
 | |
| 
 | |
|   const createWrapper = () =>
 | |
|     shallowMount(MembersList, {
 | |
|       propsData: {
 | |
|         members,
 | |
|         role_choices,
 | |
|         status_choices,
 | |
|       },
 | |
|     })
 | |
| 
 | |
|   it('should sort by name by default', () => {
 | |
|     const wrapper = createWrapper()
 | |
|     const listedMembers = wrapper.vm.searchedList
 | |
|     const memberNames = listedMembers.map(member => member.name)
 | |
|     expect(memberNames).toEqual(['Chewie', 'Luke Skywalker'])
 | |
|   })
 | |
| 
 | |
|   it('should reverse sort by name when updated with Name', () => {
 | |
|     const wrapper = createWrapper()
 | |
|     wrapper.vm.updateSort('Name')
 | |
|     const listedMembers = wrapper.vm.searchedList
 | |
|     const memberNames = listedMembers.map(member => member.name)
 | |
|     expect(memberNames).toEqual(['Luke Skywalker', 'Chewie'])
 | |
|   })
 | |
| 
 | |
|   it('should sort by number of environments when environments selected', () => {
 | |
|     const wrapper = createWrapper()
 | |
|     wrapper.vm.updateSort('Environments')
 | |
|     const listedMembers = wrapper.vm.searchedList
 | |
|     const memberEnvs = listedMembers.map(member => member.num_env)
 | |
|     expect(memberEnvs).toEqual([2, 3])
 | |
|   })
 | |
| })
 |