summaryrefslogtreecommitdiff
path: root/spec/frontend/feature_flags/components/strategies/users_with_id_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/feature_flags/components/strategies/users_with_id_spec.js')
-rw-r--r--spec/frontend/feature_flags/components/strategies/users_with_id_spec.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/frontend/feature_flags/components/strategies/users_with_id_spec.js b/spec/frontend/feature_flags/components/strategies/users_with_id_spec.js
new file mode 100644
index 00000000000..460df6ef2ec
--- /dev/null
+++ b/spec/frontend/feature_flags/components/strategies/users_with_id_spec.js
@@ -0,0 +1,38 @@
+import { mount } from '@vue/test-utils';
+import { GlFormTextarea } from '@gitlab/ui';
+import UsersWithId from '~/feature_flags/components/strategies/users_with_id.vue';
+import { usersWithIdStrategy } from '../../mock_data';
+
+const DEFAULT_PROPS = {
+ strategy: usersWithIdStrategy,
+};
+
+describe('~/feature_flags/components/users_with_id.vue', () => {
+ let wrapper;
+ let textarea;
+
+ const factory = (props = {}) => mount(UsersWithId, { propsData: { ...DEFAULT_PROPS, ...props } });
+
+ beforeEach(() => {
+ wrapper = factory();
+ textarea = wrapper.find(GlFormTextarea);
+ });
+
+ afterEach(() => {
+ if (wrapper?.destroy) {
+ wrapper.destroy();
+ }
+
+ wrapper = null;
+ });
+
+ it('should display the current value of the parameters', () => {
+ expect(textarea.element.value).toBe(usersWithIdStrategy.parameters.userIds);
+ });
+
+ it('should emit a change event when the IDs change', () => {
+ textarea.setValue('4,5,6');
+
+ expect(wrapper.emitted('change')).toEqual([[{ parameters: { userIds: '4,5,6' } }]]);
+ });
+});