diff --git a/api/mocks/repositories/user.repository.mock.ts b/api/mocks/repositories/user.repository.mock.ts new file mode 100644 index 0000000..f816744 --- /dev/null +++ b/api/mocks/repositories/user.repository.mock.ts @@ -0,0 +1,50 @@ +import { CreateUserDto } from "src/model/dto/create-user.dto"; +import { User } from "src/model/entitites"; +import { IUser } from "src/model/interface"; + +export class MockUserRepository { + + user: User = { + firstName: null, + lastName: null, + id: 'mockId', + username: 'mockuser@test.de', + createdAt: undefined, + lastLogin: undefined, + external: { + externalId: 'externalid', + user: null, + accessToken: "", + refreshToken: "" + }, + isActive: false, + role: null, + systems: [] + } + + findByUsername = jest.fn().mockImplementation((username: string) => { + return this.user; + }) + + createUser = jest.fn().mockImplementation((register: CreateUserDto) => { + const user: User = { + firstName: null, + lastName: null, + id: 'mockId', + username: register.username, + createdAt: undefined, + lastLogin: undefined, + external: { + externalId: register.externalId, + user: null, + accessToken: "", + refreshToken: "" + }, + isActive: false, + role: null, + systems: [] + } + return user; + }) + +} diff --git a/api/src/modules/auth/auth.service.spec.ts b/api/src/modules/auth/auth.service.spec.ts index c1559c8..a48e46a 100644 --- a/api/src/modules/auth/auth.service.spec.ts +++ b/api/src/modules/auth/auth.service.spec.ts @@ -4,8 +4,9 @@ import { HttpService } from '@nestjs/axios'; import { UserRepository } from 'src/model/repositories'; import { ConfigService } from '@nestjs/config'; import { JwtService } from '@nestjs/jwt'; +import { MockUserRepository } from '../../../mocks/repositories/user.repository.mock'; -describe('AppService', () => { +describe('AuthService', () => { let service: AuthService; beforeEach(async () => { @@ -24,10 +25,15 @@ describe('AppService', () => { it('should be defined', () => { expect(service).toBeDefined(); }); + + it('should store a user on creation', async () => { + const user = await service.register({externalId: '123', username: 'sc'}); + expect(service['userRepo'].createUser).toHaveBeenCalled(); + expect(user.external.externalId).toEqual('123'); + expect(user.username).toEqual('sc'); + + }) }); -class MockUserRepository { - -} class MockHttpService {} \ No newline at end of file diff --git a/client/angular.json b/client/angular.json index f89fb45..f1b7194 100644 --- a/client/angular.json +++ b/client/angular.json @@ -80,6 +80,10 @@ }, "development": { "buildTarget": "client:build:development" + }, + "remote": { + "proxyConfig": "proxy.remote.conf.json", + "buildTarget": "client:build:development" } }, "defaultConfiguration": "development" diff --git a/client/proxy.remote.conf.json b/client/proxy.remote.conf.json new file mode 100644 index 0000000..2af846a --- /dev/null +++ b/client/proxy.remote.conf.json @@ -0,0 +1,11 @@ +{ + "/api": { + "target": "http://keyvaultpro.de:3701", + "secure": false, + "logLevel": "debug", + "changeOrigin": true, + "pathRewrite": { + "^/api": "" + } + } +} \ No newline at end of file