summaryrefslogtreecommitdiff
path: root/spec/frontend/pages/projects/shared/permissions/components/project_feature_settings_spec.js
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-04-20 10:00:54 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-04-20 10:00:54 +0000
commit3cccd102ba543e02725d247893729e5c73b38295 (patch)
treef36a04ec38517f5deaaacb5acc7d949688d1e187 /spec/frontend/pages/projects/shared/permissions/components/project_feature_settings_spec.js
parent205943281328046ef7b4528031b90fbda70c75ac (diff)
downloadgitlab-ce-3cccd102ba543e02725d247893729e5c73b38295.tar.gz
Add latest changes from gitlab-org/gitlab@14-10-stable-eev14.10.0-rc42
Diffstat (limited to 'spec/frontend/pages/projects/shared/permissions/components/project_feature_settings_spec.js')
-rw-r--r--spec/frontend/pages/projects/shared/permissions/components/project_feature_settings_spec.js30
1 files changed, 21 insertions, 9 deletions
diff --git a/spec/frontend/pages/projects/shared/permissions/components/project_feature_settings_spec.js b/spec/frontend/pages/projects/shared/permissions/components/project_feature_settings_spec.js
index 0fffcf433a3..5771e1b88e8 100644
--- a/spec/frontend/pages/projects/shared/permissions/components/project_feature_settings_spec.js
+++ b/spec/frontend/pages/projects/shared/permissions/components/project_feature_settings_spec.js
@@ -3,15 +3,17 @@ import { shallowMount } from '@vue/test-utils';
import ProjectFeatureSetting from '~/pages/projects/shared/permissions/components/project_feature_setting.vue';
describe('Project Feature Settings', () => {
+ const defaultOptions = [
+ [1, 1],
+ [2, 2],
+ [3, 3],
+ [4, 4],
+ [5, 5],
+ ];
+
const defaultProps = {
name: 'Test',
- options: [
- [1, 1],
- [2, 2],
- [3, 3],
- [4, 4],
- [5, 5],
- ],
+ options: defaultOptions,
value: 1,
disabledInput: false,
showToggle: true,
@@ -110,15 +112,25 @@ describe('Project Feature Settings', () => {
},
);
- it('should emit the change when a new option is selected', () => {
+ it('should emit the change when a new option is selected', async () => {
wrapper = mountComponent();
expect(wrapper.emitted('change')).toBeUndefined();
- wrapper.findAll('option').at(1).trigger('change');
+ await wrapper.findAll('option').at(1).setSelected();
expect(wrapper.emitted('change')).toHaveLength(1);
expect(wrapper.emitted('change')[0]).toEqual([2]);
});
+
+ it('value of select matches prop `value` if options are modified', async () => {
+ wrapper = mountComponent();
+
+ await wrapper.setProps({ value: 0, options: [[0, 0]] });
+ expect(wrapper.find('select').element.selectedIndex).toBe(0);
+
+ await wrapper.setProps({ value: 2, options: defaultOptions });
+ expect(wrapper.find('select').element.selectedIndex).toBe(1);
+ });
});
});