Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-07-09 18:09:47 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-07-09 18:09:47 +0300
commitffd8742a62c5de81792942cd7f9031b1add6cab2 (patch)
treeaf7c8181baf971b55064a42eecc7a8da57878456 /spec/frontend/runner
parenta373ecffca1512404cb4f237399e3bf275d87f69 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/runner')
-rw-r--r--spec/frontend/runner/components/helpers/masked_value_spec.js51
-rw-r--r--spec/frontend/runner/components/runner_manual_setup_help_spec.js9
2 files changed, 59 insertions, 1 deletions
diff --git a/spec/frontend/runner/components/helpers/masked_value_spec.js b/spec/frontend/runner/components/helpers/masked_value_spec.js
new file mode 100644
index 00000000000..f87315057ec
--- /dev/null
+++ b/spec/frontend/runner/components/helpers/masked_value_spec.js
@@ -0,0 +1,51 @@
+import { GlButton } from '@gitlab/ui';
+import { shallowMount } from '@vue/test-utils';
+import MaskedValue from '~/runner/components/helpers/masked_value.vue';
+
+const mockSecret = '01234567890';
+const mockMasked = '***********';
+
+describe('MaskedValue', () => {
+ let wrapper;
+
+ const findButton = () => wrapper.findComponent(GlButton);
+
+ const createComponent = ({ props = {} } = {}) => {
+ wrapper = shallowMount(MaskedValue, {
+ propsData: {
+ value: mockSecret,
+ ...props,
+ },
+ });
+ };
+
+ beforeEach(() => {
+ createComponent();
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ it('Displays masked value by default', () => {
+ expect(wrapper.text()).toBe(mockMasked);
+ });
+
+ describe('When the icon is clicked', () => {
+ beforeEach(() => {
+ findButton().vm.$emit('click');
+ });
+
+ it('Displays the actual value', () => {
+ expect(wrapper.text()).toBe(mockSecret);
+ expect(wrapper.text()).not.toBe(mockMasked);
+ });
+
+ it('When user clicks again, displays masked value', async () => {
+ await findButton().vm.$emit('click');
+
+ expect(wrapper.text()).toBe(mockMasked);
+ expect(wrapper.text()).not.toBe(mockSecret);
+ });
+ });
+});
diff --git a/spec/frontend/runner/components/runner_manual_setup_help_spec.js b/spec/frontend/runner/components/runner_manual_setup_help_spec.js
index add595d784e..effef0e7ebf 100644
--- a/spec/frontend/runner/components/runner_manual_setup_help_spec.js
+++ b/spec/frontend/runner/components/runner_manual_setup_help_spec.js
@@ -3,6 +3,7 @@ import { shallowMount } from '@vue/test-utils';
import { nextTick } from 'vue';
import { TEST_HOST } from 'helpers/test_constants';
import { extendedWrapper } from 'helpers/vue_test_utils_helper';
+import MaskedValue from '~/runner/components/helpers/masked_value.vue';
import RunnerManualSetupHelp from '~/runner/components/runner_manual_setup_help.vue';
import RunnerRegistrationTokenReset from '~/runner/components/runner_registration_token_reset.vue';
import { INSTANCE_TYPE, GROUP_TYPE, PROJECT_TYPE } from '~/runner/constants';
@@ -37,6 +38,7 @@ describe('RunnerManualSetupHelp', () => {
...props,
},
stubs: {
+ MaskedValue,
GlSprintf,
},
}),
@@ -93,7 +95,11 @@ describe('RunnerManualSetupHelp', () => {
expect(findRunnerInstructions().exists()).toBe(true);
});
- it('Displays the registration token', () => {
+ it('Displays the registration token', async () => {
+ findRegistrationToken().find('[data-testid="toggle-masked"]').vm.$emit('click');
+
+ await nextTick();
+
expect(findRegistrationToken().text()).toBe(mockRegistrationToken);
expect(findClipboardButtons().at(1).props('text')).toBe(mockRegistrationToken);
});
@@ -105,6 +111,7 @@ describe('RunnerManualSetupHelp', () => {
it('Replaces the runner reset button', async () => {
const mockNewRegistrationToken = 'NEW_MOCK_REGISTRATION_TOKEN';
+ findRegistrationToken().find('[data-testid="toggle-masked"]').vm.$emit('click');
findRunnerRegistrationTokenReset().vm.$emit('tokenReset', mockNewRegistrationToken);
await nextTick();