123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444 |
- /*
- * <<
- * Davinci
- * ==
- * Copyright (C) 2016 - 2017 EDP
- * ==
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * >>
- */
- import { expectSaga } from 'redux-saga-test-plan'
- import * as matchers from 'redux-saga-test-plan/matchers'
- import { throwError } from 'redux-saga-test-plan/providers'
- import request from 'app/utils/request'
- import actions from 'app/containers/Organizations/actions'
- import {
- getOrganizations,
- addOrganization,
- editOrganization,
- deleteOrganization,
- getOrganizationDetail,
- getOrganizationsProjects,
- getOrganizationsMembers,
- getOrganizationsRole,
- addRole,
- getRoleListByMemberId,
- deleteRole,
- editRole,
- relRoleMember,
- getRelRoleMember,
- searchMember,
- inviteMember,
- deleteOrganizationMember,
- changeOrganizationMemberRole,
- getProjectAdmins,
- getVizVisbility,
- postVizVisbility
- } from 'app/containers/Organizations/sagas'
- import { mockStore } from './fixtures'
- import { getMockResponse } from 'test/utils/fixtures'
- describe('Organizations Sagas', () => {
- const { projects, organization, orgId, organizations, roles, role, member, members } = mockStore
- describe('getOrganizations Saga', () => {
- it('should dispatch the organizationsLoaded action if it requests the data successfully', () => {
- return expectSaga(getOrganizations)
- .provide([[matchers.call.fn(request), getMockResponse(projects)]])
- .put(actions.organizationsLoaded(projects))
- .run()
- })
- it('should call the loadOrganizationsFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(getOrganizations)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.loadOrganizationsFail())
- .run()
- })
- })
- describe('addOrganization Saga', () => {
- const addOrganizationActions = actions.addOrganization(organization, () => void 0)
- it('should dispatch the organizationAdded action if it requests the data successfully', () => {
- return expectSaga(addOrganization, addOrganizationActions)
- .provide([[matchers.call.fn(request), getMockResponse(projects)]])
- .put(actions.organizationAdded(projects))
- .run()
- })
- it('should call the addOrganizationFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(addOrganization, addOrganizationActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.addOrganizationFail())
- .run()
- })
- })
- describe('editOrganization Saga', () => {
- const editOrganizationActions = actions.editOrganization(organization)
- it('should dispatch the organizationEdited action if it requests the data successfully', () => {
- return expectSaga(editOrganization, editOrganizationActions)
- .provide([[matchers.call.fn(request), getMockResponse(organization)]])
- .put(actions.organizationEdited(organization))
- .run()
- })
- it('should call the editOrganizationFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(editOrganization, editOrganizationActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.editOrganizationFail())
- .run()
- })
- })
- describe('deleteOrganization Saga', () => {
- const deleteOrganizationActions = actions.deleteOrganization(orgId, () => void 0)
- it('should dispatch the organizationDeleted action if it requests the data successfully', () => {
- return expectSaga(deleteOrganization, deleteOrganizationActions)
- .provide([[matchers.call.fn(request), getMockResponse(organization)]])
- .put(actions.organizationDeleted(orgId))
- .run()
- })
- it('should call the deleteOrganizationFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(deleteOrganization, deleteOrganizationActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.deleteOrganizationFail())
- .run()
- })
- })
- describe('getOrganizationDetail Saga', () => {
- const loadOrganizationDetailActions = actions.loadOrganizationDetail(orgId)
- it('should dispatch the organizationDetailLoaded action if it requests the data successfully', () => {
- return expectSaga(getOrganizationDetail, loadOrganizationDetailActions)
- .provide([[matchers.call.fn(request), getMockResponse(organization)]])
- .put(actions.organizationDetailLoaded(organization))
- .run()
- })
- })
- describe('getOrganizationsProjects Saga', () => {
- const [id, keyword, pageNum, pageSize] = [orgId, 'password', 1, 20]
- const loadOrganizationProjectsActions = actions.loadOrganizationProjects({id, keyword, pageNum, pageSize})
- it('should dispatch the organizationsProjectsLoaded action if it requests the data successfully', () => {
- return expectSaga(getOrganizationsProjects, loadOrganizationProjectsActions)
- .provide([[matchers.call.fn(request), getMockResponse(organizations)]])
- .put(actions.organizationsProjectsLoaded(organizations))
- .run()
- })
- it('should call the loadOrganizationsProjectsFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(getOrganizationsProjects, loadOrganizationProjectsActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.loadOrganizationsProjectsFail())
- .run()
- })
- })
- describe('getOrganizationsMembers Saga', () => {
- const loadOrganizationMembersActions = actions.loadOrganizationMembers(orgId)
- it('should dispatch the organizationsMembersLoaded action if it requests the data successfully', () => {
- return expectSaga(getOrganizationsMembers, loadOrganizationMembersActions)
- .provide([[matchers.call.fn(request), getMockResponse(organizations)]])
- .put(actions.organizationsMembersLoaded(organizations))
- .run()
- })
- it('should call the loadOrganizationsMembersFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(getOrganizationsMembers, loadOrganizationMembersActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.loadOrganizationsMembersFail())
- .run()
- })
- })
- describe('getOrganizationsMembers Saga', () => {
- const loadOrganizationRoleActions = actions.loadOrganizationRole(orgId)
- it('should dispatch the organizationsRoleLoaded action if it requests the data successfully', () => {
- return expectSaga(getOrganizationsRole, loadOrganizationRoleActions)
- .provide([[matchers.call.fn(request), getMockResponse(organizations)]])
- .put(actions.organizationsRoleLoaded(organizations))
- .run()
- })
- it('should call the loadOrganizationsRoleFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(getOrganizationsRole, loadOrganizationRoleActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.loadOrganizationsRoleFail())
- .run()
- })
- })
- describe('addRole Saga', () => {
- const [name, description, id, resolve] = ['name', 'desc', orgId, () => void 0]
- const loadOrganizationRoleActions = actions.addRole(name, description, id, resolve)
- it('should dispatch the roleAdded action if it requests the data successfully', () => {
- return expectSaga(addRole, loadOrganizationRoleActions)
- .provide([[matchers.call.fn(request), getMockResponse(roles)]])
- .put(actions.roleAdded(roles))
- .run()
- })
- it('should call the addRoleFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(addRole, loadOrganizationRoleActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.addRoleFail())
- .run()
- })
- })
- describe('getRoleListByMemberId Saga', () => {
- const [memberId, orgId, resolve] = [1, 1, () => void 0]
- const loadOrganizationRoleActions = actions.getRoleListByMemberId(memberId, orgId, resolve)
- it('should dispatch the getRoleListByMemberIdSuccess action if it requests the data successfully', () => {
- return expectSaga(getRoleListByMemberId, loadOrganizationRoleActions)
- .provide([[matchers.call.fn(request), getMockResponse(roles)]])
- .put(actions.getRoleListByMemberIdSuccess(roles, memberId))
- .run()
- })
- it('should call the getRoleListByMemberIdFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(getRoleListByMemberId, loadOrganizationRoleActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.getRoleListByMemberIdFail(errors, memberId))
- .run()
- })
- })
- describe('deleteRole Saga', () => {
- const [id, resolve ] = [1, () => void 0]
- const loadOrganizationRoleActions = actions.deleteRole(id, resolve)
- it('should dispatch the roleDeleted action if it requests the data successfully', () => {
- return expectSaga(deleteRole, loadOrganizationRoleActions)
- .provide([[matchers.call.fn(request), getMockResponse(role)]])
- .put(actions.roleDeleted(role))
- .run()
- })
- it('should call the deleteRoleFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(deleteRole, loadOrganizationRoleActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.deleteRoleFail())
- .run()
- })
- })
- describe('editRole Saga', () => {
- const [name, description, id, resolve] = ['name', 'desc', 1, () => void 0]
- const editRoleActions = actions.editRole(name, description, id, resolve)
- it('should dispatch the roleEdited action if it requests the data successfully', () => {
- return expectSaga(editRole, editRoleActions)
- .provide([[matchers.call.fn(request), getMockResponse(role)]])
- .put(actions.roleEdited(role))
- .run()
- })
- it('should call the editRoleFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(editRole, editRoleActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.editRoleFail())
- .run()
- })
- })
- describe('relRoleMember Saga', () => {
- const [id, memberIds, resolve] = [ 1, [1], () => void 0]
- const relRoleMemberActions = actions.relRoleMember(id, memberIds, resolve)
- it('should dispatch the relRoleMemberSuccess action if it requests the data successfully', () => {
- return expectSaga(relRoleMember, relRoleMemberActions)
- .provide([[matchers.call.fn(request), getMockResponse(role)]])
- .put(actions.relRoleMemberSuccess())
- .run()
- })
- it('should call the relRoleMemberFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(relRoleMember, relRoleMemberActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.relRoleMemberFail())
- .run()
- })
- })
- describe('relRoleMember Saga', () => {
- const [id, resolve] = [ 1, () => void 0]
- const getRelRoleMemberActions = actions.getRelRoleMember(id, resolve)
- it('should dispatch the getRelRoleMemberSuccess action if it requests the data successfully', () => {
- return expectSaga(getRelRoleMember, getRelRoleMemberActions)
- .provide([[matchers.call.fn(request), getMockResponse(role)]])
- .put(actions.getRelRoleMemberSuccess())
- .run()
- })
- it('should call the getRelRoleMemberFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(getRelRoleMember, getRelRoleMemberActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.getRelRoleMemberFail())
- .run()
- })
- })
- describe('searchMember Saga', () => {
- const searchMemberActions = actions.searchMember('keywords')
- it('should dispatch the memberSearched action if it requests the data successfully', () => {
- return expectSaga(searchMember, searchMemberActions)
- .provide([[matchers.call.fn(request), getMockResponse(member)]])
- .put(actions.memberSearched(member))
- .run()
- })
- it('should call the searchMemberFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(searchMember, searchMemberActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.searchMemberFail())
- .run()
- })
- })
- describe('inviteMember Saga', () => {
- const [ orgId, members, needEmail, resolve] = [1, [member], false, () => void 0 ]
- const inventMemberActions = actions.inviteMember(orgId, members, needEmail, resolve)
- it('should dispatch the inviteMemberSuccess action if it requests the data successfully', () => {
- return expectSaga(inviteMember, inventMemberActions)
- .provide([[matchers.call.fn(request), getMockResponse(member)]])
- .put(actions.inviteMemberSuccess(member))
- .run()
- })
- it('should call the inviteMemberFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(inviteMember, inventMemberActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.inviteMemberFail())
- .run()
- })
- })
- describe('deleteOrganizationMember Saga', () => {
- const [ relationId, resolve] = [1, () => void 0 ]
- const deleteOrganizationMemberActions = actions.deleteOrganizationMember(relationId, resolve)
- it('should dispatch the organizationMemberDeleted action if it requests the data successfully', () => {
- return expectSaga(deleteOrganizationMember, deleteOrganizationMemberActions)
- .provide([[matchers.call.fn(request), getMockResponse(relationId)]])
- .put(actions.organizationMemberDeleted(relationId))
- .run()
- })
- it('should call the deleteOrganizationMemberFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(deleteOrganizationMember, deleteOrganizationMemberActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.deleteOrganizationMemberFail())
- .run()
- })
- })
- describe('changeOrganizationMemberRole Saga', () => {
- const [ relationId, newRole, resolve ] = [1, role, () => void 0 ]
- const changeOrganizationMemberRoleActions = actions.changeOrganizationMemberRole(relationId, newRole, resolve)
- it('should dispatch the organizationMemberRoleChanged action if it requests the data successfully', () => {
- return expectSaga(changeOrganizationMemberRole, changeOrganizationMemberRoleActions)
- .provide([[matchers.call.fn(request), getMockResponse(member)]])
- .put(actions.organizationMemberRoleChanged(relationId, member))
- .run()
- })
- it('should call the changeOrganizationMemberRoleFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(changeOrganizationMemberRole, changeOrganizationMemberRoleActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.changeOrganizationMemberRoleFail())
- .run()
- })
- })
- describe('getProjectAdmins Saga', () => {
- const changeOrganizationMemberRoleActions = actions.loadProjectAdmin(orgId)
- it('should dispatch the projectAdminLoaded action if it requests the data successfully', () => {
- return expectSaga(getProjectAdmins, changeOrganizationMemberRoleActions)
- .provide([[matchers.call.fn(request), getMockResponse(members)]])
- .put(actions.projectAdminLoaded(members))
- .run()
- })
- it('should call the loadProjectAdminFail action if the response errors', () => {
- const errors = new Error('error')
- return expectSaga(getProjectAdmins, changeOrganizationMemberRoleActions)
- .provide([[matchers.call.fn(request), throwError(errors)]])
- .put(actions.loadProjectAdminFail())
- .run()
- })
- })
- describe('getVizVisbility Saga', () => {
- const [roleId, projectId, resolve] = [ orgId, orgId, () => void 0]
- const getVizVisbilityActions = actions.getVizVisbility(roleId, projectId, resolve)
- it('should dispatch the getVizVisbilitySaga action if it requests the data successfully', () => {
- return expectSaga(getVizVisbility, getVizVisbilityActions)
- .provide([[matchers.call.fn(request), getMockResponse({})]])
- .run()
- })
- })
- describe('postVizVisbility Saga', () => {
- const [id, permission, resolve] = [ orgId, {}, () => void 0]
- const postVizVisbilityActions = actions.postVizVisbility(id, permission, resolve)
- it('should dispatch the postVizVisbilityActions action if it requests the data successfully', () => {
- return expectSaga(getVizVisbility, postVizVisbilityActions)
- .provide([[matchers.call.fn(request), getMockResponse({})]])
- .run()
- })
- })
- })
|