debian-mirror-gitlab/spec/frontend/create_cluster/eks_cluster/store/mutations_spec.js
2021-03-11 19:13:27 +05:30

161 lines
5.5 KiB
JavaScript

import {
SET_CLUSTER_NAME,
SET_ENVIRONMENT_SCOPE,
SET_KUBERNETES_VERSION,
SET_REGION,
SET_VPC,
SET_KEY_PAIR,
SET_SUBNET,
SET_ROLE,
SET_SECURITY_GROUP,
SET_INSTANCE_TYPE,
SET_NODE_COUNT,
SET_GITLAB_MANAGED_CLUSTER,
REQUEST_CREATE_ROLE,
CREATE_ROLE_SUCCESS,
CREATE_ROLE_ERROR,
REQUEST_CREATE_CLUSTER,
CREATE_CLUSTER_ERROR,
} from '~/create_cluster/eks_cluster/store/mutation_types';
import mutations from '~/create_cluster/eks_cluster/store/mutations';
import createState from '~/create_cluster/eks_cluster/store/state';
describe('Create EKS cluster store mutations', () => {
let clusterName;
let environmentScope;
let kubernetesVersion;
let state;
let region;
let vpc;
let subnet;
let role;
let keyPair;
let securityGroup;
let instanceType;
let nodeCount;
let gitlabManagedCluster;
beforeEach(() => {
clusterName = 'my cluster';
environmentScope = 'production';
kubernetesVersion = '11.1';
region = { name: 'regions-1' };
vpc = { name: 'vpc-1' };
subnet = { name: 'subnet-1' };
role = { name: 'role-1' };
keyPair = { name: 'key pair' };
securityGroup = { name: 'default group' };
instanceType = 'small-1';
nodeCount = '5';
gitlabManagedCluster = false;
state = createState();
});
it.each`
mutation | mutatedProperty | payload | expectedValue | expectedValueDescription
${SET_CLUSTER_NAME} | ${'clusterName'} | ${{ clusterName }} | ${clusterName} | ${'cluster name'}
${SET_ENVIRONMENT_SCOPE} | ${'environmentScope'} | ${{ environmentScope }} | ${environmentScope} | ${'environment scope'}
${SET_KUBERNETES_VERSION} | ${'kubernetesVersion'} | ${{ kubernetesVersion }} | ${kubernetesVersion} | ${'kubernetes version'}
${SET_ROLE} | ${'selectedRole'} | ${{ role }} | ${role} | ${'selected role payload'}
${SET_REGION} | ${'selectedRegion'} | ${{ region }} | ${region} | ${'selected region payload'}
${SET_KEY_PAIR} | ${'selectedKeyPair'} | ${{ keyPair }} | ${keyPair} | ${'selected key pair payload'}
${SET_VPC} | ${'selectedVpc'} | ${{ vpc }} | ${vpc} | ${'selected vpc payload'}
${SET_SUBNET} | ${'selectedSubnet'} | ${{ subnet }} | ${subnet} | ${'selected subnet payload'}
${SET_SECURITY_GROUP} | ${'selectedSecurityGroup'} | ${{ securityGroup }} | ${securityGroup} | ${'selected security group payload'}
${SET_INSTANCE_TYPE} | ${'selectedInstanceType'} | ${{ instanceType }} | ${instanceType} | ${'selected instance type payload'}
${SET_NODE_COUNT} | ${'nodeCount'} | ${{ nodeCount }} | ${nodeCount} | ${'node count payload'}
${SET_GITLAB_MANAGED_CLUSTER} | ${'gitlabManagedCluster'} | ${{ gitlabManagedCluster }} | ${gitlabManagedCluster} | ${'gitlab managed cluster'}
`(`$mutation sets $mutatedProperty to $expectedValueDescription`, (data) => {
const { mutation, mutatedProperty, payload, expectedValue } = data;
mutations[mutation](state, payload);
expect(state[mutatedProperty]).toBe(expectedValue);
});
describe(`mutation ${REQUEST_CREATE_ROLE}`, () => {
beforeEach(() => {
mutations[REQUEST_CREATE_ROLE](state);
});
it('sets isCreatingRole to true', () => {
expect(state.isCreatingRole).toBe(true);
});
it('sets createRoleError to null', () => {
expect(state.createRoleError).toBe(null);
});
it('sets hasCredentials to false', () => {
expect(state.hasCredentials).toBe(false);
});
});
describe(`mutation ${CREATE_ROLE_SUCCESS}`, () => {
beforeEach(() => {
mutations[CREATE_ROLE_SUCCESS](state);
});
it('sets isCreatingRole to false', () => {
expect(state.isCreatingRole).toBe(false);
});
it('sets createRoleError to null', () => {
expect(state.createRoleError).toBe(null);
});
it('sets hasCredentials to false', () => {
expect(state.hasCredentials).toBe(true);
});
});
describe(`mutation ${CREATE_ROLE_ERROR}`, () => {
const error = new Error();
beforeEach(() => {
mutations[CREATE_ROLE_ERROR](state, { error });
});
it('sets isCreatingRole to false', () => {
expect(state.isCreatingRole).toBe(false);
});
it('sets createRoleError to the error object', () => {
expect(state.createRoleError).toBe(error);
});
it('sets hasCredentials to false', () => {
expect(state.hasCredentials).toBe(false);
});
});
describe(`mutation ${REQUEST_CREATE_CLUSTER}`, () => {
beforeEach(() => {
mutations[REQUEST_CREATE_CLUSTER](state);
});
it('sets isCreatingCluster to true', () => {
expect(state.isCreatingCluster).toBe(true);
});
it('sets createClusterError to null', () => {
expect(state.createClusterError).toBe(null);
});
});
describe(`mutation ${CREATE_CLUSTER_ERROR}`, () => {
const error = new Error();
beforeEach(() => {
mutations[CREATE_CLUSTER_ERROR](state, { error });
});
it('sets isCreatingRole to false', () => {
expect(state.isCreatingCluster).toBe(false);
});
it('sets createRoleError to the error object', () => {
expect(state.createClusterError).toBe(error);
});
});
});