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-03-18 21:09:09 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-03-18 21:09:09 +0300
commitc8deb6a80194f536584bbb6c97d92bff7116c548 (patch)
tree3ed7dd829263e94001488e7a0072bda231e7ed34 /spec/frontend/admin
parentdfda8b7e77835fc54d469eda336b13b415365703 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/admin')
-rw-r--r--spec/frontend/admin/users/new_spec.js76
1 files changed, 76 insertions, 0 deletions
diff --git a/spec/frontend/admin/users/new_spec.js b/spec/frontend/admin/users/new_spec.js
new file mode 100644
index 00000000000..692c583dca8
--- /dev/null
+++ b/spec/frontend/admin/users/new_spec.js
@@ -0,0 +1,76 @@
+import {
+ setupInternalUserRegexHandler,
+ ID_USER_EMAIL,
+ ID_USER_EXTERNAL,
+ ID_WARNING,
+} from '~/admin/users/new';
+
+describe('admin/users/new', () => {
+ const FIXTURE = 'admin/users/new_with_internal_user_regex.html';
+
+ let elExternal;
+ let elUserEmail;
+ let elWarningMessage;
+
+ beforeEach(() => {
+ loadFixtures(FIXTURE);
+ setupInternalUserRegexHandler();
+
+ elExternal = document.getElementById(ID_USER_EXTERNAL);
+ elUserEmail = document.getElementById(ID_USER_EMAIL);
+ elWarningMessage = document.getElementById(ID_WARNING);
+
+ elExternal.checked = true;
+ });
+
+ const changeEmail = (val) => {
+ elUserEmail.value = val;
+ elUserEmail.dispatchEvent(new Event('input'));
+ };
+
+ const hasHiddenWarning = () => elWarningMessage.classList.contains('hidden');
+
+ describe('Behaviour of userExternal checkbox', () => {
+ it('hides warning by default', () => {
+ expect(hasHiddenWarning()).toBe(true);
+ });
+
+ describe('when matches email as internal', () => {
+ beforeEach(() => {
+ changeEmail('test@');
+ });
+
+ it('has external unchecked', () => {
+ expect(elExternal.checked).toBe(false);
+ });
+
+ it('shows warning', () => {
+ expect(hasHiddenWarning()).toBe(false);
+ });
+
+ describe('when external is checked again', () => {
+ beforeEach(() => {
+ elExternal.dispatchEvent(new Event('change'));
+ });
+
+ it('hides warning', () => {
+ expect(hasHiddenWarning()).toBe(true);
+ });
+ });
+ });
+
+ describe('when matches emails as external', () => {
+ beforeEach(() => {
+ changeEmail('test.ext@');
+ });
+
+ it('has external checked', () => {
+ expect(elExternal.checked).toBe(true);
+ });
+
+ it('hides warning', () => {
+ expect(hasHiddenWarning()).toBe(true);
+ });
+ });
+ });
+});