UNPKG

@sync-in/server

Version:

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

97 lines (96 loc) 3.71 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 _appbootstrap = require("../../app.bootstrap"); const _authmanagerservice = require("../../authentication/services/auth-manager.service"); const _utils = require("../../infrastructure/database/utils"); const _routes = require("./constants/routes"); const _user = require("./constants/user"); const _usermodel = require("./models/user.model"); const _adminusersmanagerservice = require("./services/admin-users-manager.service"); const _test = require("./utils/test"); describe('Users (e2e)', ()=>{ let app; let authManager; let adminUsersManager; let userTest; let tokens; beforeAll(async ()=>{ app = await (0, _appbootstrap.appBootstrap)(); await app.init(); await app.getHttpAdapter().getInstance().ready(); authManager = app.get(_authmanagerservice.AuthManager); adminUsersManager = app.get(_adminusersmanagerservice.AdminUsersManager); userTest = new _usermodel.UserModel((0, _test.generateUserTest)(false), false); }); afterAll(async ()=>{ await expect(adminUsersManager.deleteUserOrGuest(userTest.id, userTest.login, { deleteSpace: true })).resolves.not.toThrow(); await (0, _utils.dbCloseConnection)(app); await app.close(); }); it('should be defined', ()=>{ expect(authManager).toBeDefined(); expect(adminUsersManager).toBeDefined(); expect(userTest).toBeDefined(); }); it('should get the database connection', async ()=>{ expect(await (0, _utils.dbCheckConnection)(app)).toBe(true); }); it(`GET ${_routes.API_USERS_ME} => 401`, async ()=>{ const res = await app.inject({ method: 'GET', url: _routes.API_USERS_ME }); expect(res.statusCode).toEqual(401); }); it(`GET ${_routes.API_USERS_ME} => 200`, async ()=>{ userTest = await adminUsersManager.createUserOrGuest(userTest, _user.USER_ROLE.USER); expect(userTest.id).toBeDefined(); tokens = await authManager.getTokens(userTest); const res = await app.inject({ method: 'GET', url: _routes.API_USERS_ME, headers: { authorization: `Bearer ${tokens.access}` } }); expect(res.statusCode).toEqual(200); const content = res.json(); expect(content.user).toBeDefined(); expect(content.user.id).toBe(userTest.id); }); it(`GET ${_routes.API_USERS_AVATAR} => 200`, async ()=>{ const res1 = await app.inject({ method: 'GET', url: `${_routes.API_USERS_AVATAR}/me`, headers: { authorization: `Bearer ${tokens.access}` } }); const res2 = await app.inject({ method: 'GET', url: `${_routes.API_USERS_AVATAR}/${userTest.login}`, headers: { authorization: `Bearer ${tokens.access}` } }); for (const res of [ res1, res2 ]){ expect(res.statusCode).toEqual(200); expect(res.rawPayload).toBeInstanceOf(Buffer); expect(res.rawPayload.byteLength).toBeGreaterThan(1); } expect(res1.raw.req.user).toBe(res2.raw.req.user); expect(res1.rawPayload.byteLength).toEqual(res2.rawPayload.byteLength); }); }); //# sourceMappingURL=users.e2e-spec.js.map