Merge branch 'hotfix/21.56.9' into master
[gitter.git] / modules / gitlab / test / gitlab-user-service-test.js
bloba51693d7d66c1f27a52b535e558cbb2d2ace83fe
1 'use strict';
3 const assert = require('assert');
4 const proxyquireNoCallThru = require('proxyquire').noCallThru();
5 const fixtureLoader = require('gitter-web-test-utils/lib/test-fixtures');
6 const TestError = require('gitter-web-test-utils/lib/test-error');
8 describe.skip('gitlab-user-service #flakey #slow #gitlab', function() {
9   fixtureLoader.ensureIntegrationEnvironment('GITLAB_USER_TOKEN');
11   const FAKE_USER = {
12     username: 'FAKE_USER'
13   };
15   let oauthToken = null;
16   let GitLabUserService;
18   beforeEach(() => {
19     GitLabUserService = proxyquireNoCallThru('../lib/user-service', {
20       './get-gitlab-access-token-from-user': function() {
21         return Promise.resolve(oauthToken);
22       }
23     });
24   });
26   afterEach(() => {
27     oauthToken = null;
28   });
30   beforeEach(() => {
31     oauthToken = fixtureLoader.GITLAB_USER_TOKEN;
32   });
34   it('should fetch user by GitLab user ID', async () => {
35     const glGroupService = new GitLabUserService(FAKE_USER);
36     const user = await glGroupService.getUserById(2619770);
37     assert.strictEqual(user.username, 'gitter-integration-tests');
38   });
40   it('should fetch user by GitLab username', async () => {
41     const glGroupService = new GitLabUserService(FAKE_USER);
42     const user = await glGroupService.getUserByUsername('gitter-integration-tests');
43     assert.strictEqual(user.username, 'gitter-integration-tests');
44   });
46   it('should throw error when unable to find user', async () => {
47     const glGroupService = new GitLabUserService(FAKE_USER);
49     try {
50       await glGroupService.getUserByUsername('!!non-existant-user!!');
51       assert.fail(
52         new TestError(
53           'we expect an error to be thrown instead of an actual user from getUserByUsername'
54         )
55       );
56     } catch (err) {
57       if (err instanceof TestError) {
58         throw err;
59       }
61       assert(err);
62     }
63   });
64 });