index_spec.js 1.3 KB
Newer Older
1 2 3 4
import $ from 'jquery';
import UserInternalRegexHandler from '~/pages/admin/users/new/index';

describe('UserInternalRegexHandler', () => {
5
  const FIXTURE = 'admin/users/new_with_internal_user_regex.html.raw';
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
  let $userExternal;
  let $userEmail;
  let $warningMessage;

  preloadFixtures(FIXTURE);

  beforeEach(() => {
    loadFixtures(FIXTURE);
    // eslint-disable-next-line no-new
    new UserInternalRegexHandler();
    $userExternal = $('#user_external');
    $userEmail = $('#user_email');
    $warningMessage = $('#warning_external_automatically_set');
    if (!$userExternal.prop('checked')) $userExternal.prop('checked', 'checked');
  });

  describe('Behaviour of userExternal checkbox when', () => {
M
Mike Greiling 已提交
23
    it('matches email as internal', done => {
24 25 26 27 28 29 30 31 32
      expect($warningMessage.hasClass('hidden')).toBeTruthy();

      $userEmail.val('test@').trigger('input');

      expect($userExternal.prop('checked')).toBeFalsy();
      expect($warningMessage.hasClass('hidden')).toBeFalsy();
      done();
    });

M
Mike Greiling 已提交
33
    it('matches email as external', done => {
34 35 36 37 38 39 40 41 42 43
      expect($warningMessage.hasClass('hidden')).toBeTruthy();

      $userEmail.val('test.ext@').trigger('input');

      expect($userExternal.prop('checked')).toBeTruthy();
      expect($warningMessage.hasClass('hidden')).toBeTruthy();
      done();
    });
  });
});