diff options
Diffstat (limited to 'spec/frontend/ci/ci_variable_list/components/ci_project_variables_spec.js')
-rw-r--r-- | spec/frontend/ci/ci_variable_list/components/ci_project_variables_spec.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/spec/frontend/ci/ci_variable_list/components/ci_project_variables_spec.js b/spec/frontend/ci/ci_variable_list/components/ci_project_variables_spec.js new file mode 100644 index 00000000000..7230017c560 --- /dev/null +++ b/spec/frontend/ci/ci_variable_list/components/ci_project_variables_spec.js @@ -0,0 +1,46 @@ +import { shallowMount } from '@vue/test-utils'; +import { convertToGraphQLId } from '~/graphql_shared/utils'; + +import ciProjectVariables from '~/ci/ci_variable_list/components/ci_project_variables.vue'; +import ciVariableShared from '~/ci/ci_variable_list/components/ci_variable_shared.vue'; + +import { GRAPHQL_PROJECT_TYPE } from '~/ci/ci_variable_list/constants'; + +const mockProvide = { + projectFullPath: '/namespace/project', + projectId: 1, +}; + +describe('Ci Project Variable wrapper', () => { + let wrapper; + + const findCiShared = () => wrapper.findComponent(ciVariableShared); + + const createComponent = () => { + wrapper = shallowMount(ciProjectVariables, { + provide: mockProvide, + }); + }; + + beforeEach(() => { + createComponent(); + }); + + afterEach(() => { + wrapper.destroy(); + }); + + it('Passes down the correct props to ci_variable_shared', () => { + expect(findCiShared().props()).toEqual({ + id: convertToGraphQLId(GRAPHQL_PROJECT_TYPE, mockProvide.projectId), + areScopedVariablesAvailable: true, + componentName: 'ProjectVariables', + entity: 'project', + fullPath: mockProvide.projectFullPath, + hideEnvironmentScope: false, + mutationData: wrapper.vm.$options.mutationData, + queryData: wrapper.vm.$options.queryData, + refetchAfterMutation: false, + }); + }); +}); |