@sync-in/server
Version:
The secure, open-source platform for file storage, sharing, collaboration, and sync
86 lines (85 loc) • 3.69 kB
JavaScript
/*
* 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 _configenvironment = require("../../configuration/config.environment");
const _cacheservice = require("../../infrastructure/cache/services/cache.service");
const _constants = require("../../infrastructure/database/constants");
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
]
}).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