UNPKG

@sync-in/server

Version:

The secure, open-source platform for file storage, sharing, collaboration, and sync

93 lines (92 loc) 4.12 kB
/* * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com> * This file is part of Sync-in | The open source file sync and share solution * See the LICENSE file for licensing details */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const _config = require("@nestjs/config"); const _jwt = require("@nestjs/jwt"); const _testing = require("@nestjs/testing"); const _authmanagerservice = require("../../authentication/services/auth-manager.service"); const _authmethodtwofaservice = require("../../authentication/services/auth-methods/auth-method-two-fa.service"); const _configenvironment = require("../../configuration/config.environment"); const _cacheservice = require("../../infrastructure/cache/services/cache.service"); const _constants = require("../../infrastructure/database/constants"); const _notificationsmanagerservice = require("../notifications/services/notifications-manager.service"); const _usermodel = require("./models/user.model"); const _adminusersmanagerservice = require("./services/admin-users-manager.service"); const _adminusersqueriesservice = require("./services/admin-users-queries.service"); const _usersmanagerservice = require("./services/users-manager.service"); const _usersqueriesservice = require("./services/users-queries.service"); const _userscontroller = require("./users.controller"); const _test = require("./utils/test"); describe(_userscontroller.UsersController.name, ()=>{ let module; let userController; let usersQueries; let adminUsersManager; let userTest; beforeAll(async ()=>{ module = await _testing.Test.createTestingModule({ imports: [ await _config.ConfigModule.forRoot({ load: [ _configenvironment.exportConfiguration ], isGlobal: true }) ], controllers: [ _userscontroller.UsersController ], providers: [ { provide: _constants.DB_TOKEN_PROVIDER, useValue: {} }, { provide: _cacheservice.Cache, useValue: {} }, _usersmanagerservice.UsersManager, _usersqueriesservice.UsersQueries, _adminusersmanagerservice.AdminUsersManager, _adminusersqueriesservice.AdminUsersQueries, _authmanagerservice.AuthManager, _jwt.JwtService, _authmethodtwofaservice.AuthMethod2FA, { provide: _notificationsmanagerservice.NotificationsManager, useValue: {} } ] }).compile(); userController = module.get(_userscontroller.UsersController); usersQueries = module.get(_usersqueriesservice.UsersQueries); adminUsersManager = module.get(_adminusersmanagerservice.AdminUsersManager); userTest = new _usermodel.UserModel((0, _test.generateUserTest)()); }); afterAll(async ()=>{ await expect(adminUsersManager.deleteUserSpace(userTest.login)).resolves.not.toThrow(); await module.close(); }); it('should be defined', ()=>{ expect(userController).toBeDefined(); expect(usersQueries).toBeDefined(); expect(userTest).toBeDefined(); }); it('should get the user profile', async ()=>{ usersQueries.from = jest.fn().mockReturnValue(userTest); const profile = await userController.me(userTest); expect(usersQueries.from).toHaveBeenCalled(); expect(profile.user).toBeInstanceOf(_usermodel.UserModel); expect(profile.user.login).toBe(userTest.login); }); it('should not generate the user avatar stream', async ()=>{ usersQueries.from = jest.fn().mockReturnValueOnce(null); await expect(userController.genAvatar(userTest)).rejects.toThrow('does not exist'); }); }); //# sourceMappingURL=users.controller.spec.js.map