Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision

Target

Select target project
  • web-et-numerique/factory/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_server
1 result
Select Git revision
Show changes
Showing
with 123 additions and 22 deletions
import { ApiProperty } from '@nestjs/swagger';
import { IsNotEmpty } from 'class-validator';
export class MergeJobDto {
@IsNotEmpty()
@ApiProperty({ type: String })
sourceJobId: string;
@IsNotEmpty()
@ApiProperty({ type: String })
targetJobId: string;
}
import { IsNotEmpty } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
export class SetUserEmployerDto {
@IsNotEmpty()
@ApiProperty({ type: String })
userId: string;
@IsNotEmpty()
@ApiProperty({ type: String })
employerId: string;
}
import { IsNotEmpty } from 'class-validator';
import { ApiProperty } from '@nestjs/swagger';
export class SetUserJobDto {
@IsNotEmpty()
@ApiProperty({ type: String })
userId: string;
@IsNotEmpty()
@ApiProperty({ type: String })
jobId: string;
}
......@@ -12,9 +12,9 @@ export class UnclaimedStructureDto {
@ApiProperty({ type: String })
structureName: string;
@ApiProperty({ type: String })
updatedAt: string;
@ApiProperty({ type: Date })
updatedAt: Date;
@ApiProperty({ type: String })
createdAt: string;
createdAt: Date;
}
import { Module } from '@nestjs/common';
import { MongooseModule } from '@nestjs/mongoose';
import { ScheduleModule } from '@nestjs/schedule';
import { AdminModule } from './admin/admin.module';
import { AppController } from './app.controller';
import { StructuresModule } from './structures/structures.module';
import { ConfigurationModule } from './configuration/configuration.module';
import { CategoriesModule } from './categories/categories.module';
import { AuthModule } from './auth/auth.module';
import { UsersModule } from './users/users.module';
import { CategoriesModule } from './categories/categories.module';
import { ConfigurationModule } from './configuration/configuration.module';
import { ContactModule } from './contact/contact.module';
import { MailerModule } from './mailer/mailer.module';
import { TclModule } from './tcl/tcl.module';
import { AdminModule } from './admin/admin.module';
import { PostsModule } from './posts/posts.module';
import { PagesModule } from './pages/pages.module';
import { TempUserModule } from './temp-user/temp-user.module';
import { NewsletterModule } from './newsletter/newsletter.module';
import { ContactModule } from './contact/contact.module';
import { PagesModule } from './pages/pages.module';
import { ParametersModule } from './parameters/parameters.module';
import { PersonalOffersModule } from './personal-offers/personal-offers.module';
import { PostsModule } from './posts/posts.module';
import { StructuresModule } from './structures/structures.module';
import { TclModule } from './tcl/tcl.module';
import { TempUserModule } from './temp-user/temp-user.module';
import { UsersModule } from './users/users.module';
@Module({
imports: [
ConfigurationModule,
......@@ -35,6 +36,7 @@ import { ParametersModule } from './parameters/parameters.module';
TempUserModule,
NewsletterModule,
ContactModule,
PersonalOffersModule,
ParametersModule,
],
controllers: [AppController],
......
......@@ -6,7 +6,8 @@ import { AuthServiceMock } from '../../test/mock/services/auth.mock.service';
import { ConfigurationModule } from '../configuration/configuration.module';
import { MailerModule } from '../mailer/mailer.module';
import { User } from '../users/schemas/user.schema';
import { UsersService } from '../users/users.service';
import { UserRegistrySearchService } from '../users/services/userRegistry-search.service';
import { UsersService } from '../users/services/users.service';
import { AuthController } from './auth.controller';
import { AuthService } from './auth.service';
import { LoginDto } from './login-dto';
......@@ -29,6 +30,10 @@ describe('AuthController', () => {
providers: [
AuthService,
UsersService,
{
provide: UserRegistrySearchService,
useClass: jest.fn(),
},
{
provide: AuthService,
useClass: AuthServiceMock,
......
import { Controller, Post, Body } from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { AuthService } from './auth.service';
import { LoginDto } from './login-dto';
@ApiTags('auth')
@Controller('auth')
export class AuthController {
constructor(private authService: AuthService) {}
......
import { Module } from '@nestjs/common';
import { JwtModule } from '@nestjs/jwt';
import { PassportModule } from '@nestjs/passport';
import { AuthService } from './auth.service';
import * as dotenv from 'dotenv';
import { UsersModule } from '../users/users.module';
import { AuthController } from './auth.controller';
import { AuthService } from './auth.service';
import { JwtStrategy } from './strategy/jwt.strategy';
dotenv.config();
@Module({
imports: [
......
......@@ -5,7 +5,7 @@ import { JwtServiceMock } from '../../test/mock/services/jwt.mock.service';
import { UsersServiceMock } from '../../test/mock/services/user.mock.service';
import { ConfigurationModule } from '../configuration/configuration.module';
import { MailerModule } from '../mailer/mailer.module';
import { UsersService } from '../users/users.service';
import { UsersService } from '../users/services/users.service';
import { AuthService } from './auth.service';
import { LoginDto } from './login-dto';
......@@ -44,6 +44,7 @@ describe('AuthService', () => {
emailVerified: false,
email: 'jacques.dupont@mii.com',
role: 0,
personalOffers: [],
};
const loginDto: LoginDto = { email: 'jacques.dupont@mii.com', password: 'test1A!!' }; //NOSONAR
expect(await service.validateUser(loginDto)).toStrictEqual(result);
......
import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
import { UsersService } from '../users/users.service';
import { UsersService } from '../users/services/users.service';
import { JwtService } from '@nestjs/jwt';
import { LoginDto } from './login-dto';
import { DateTime } from 'luxon';
......
......@@ -5,7 +5,9 @@ import { CategoriesAccompagnement } from '../schemas/categoriesAccompagnement.sc
import { JwtAuthGuard } from '../../auth/guards/jwt-auth.guard';
import { Roles } from '../../users/decorators/roles.decorator';
import { RolesGuard } from '../../users/guards/roles.guard';
import { ApiTags } from '@nestjs/swagger';
@ApiTags('categories')
@Controller('categories/categoriesAccompagnement')
export class CategoriesAccompagnementController {
constructor(private readonly categoriesAccompagnementService: CategoriesAccompagnementService) {}
......
......@@ -5,7 +5,9 @@ import { CategoriesFormations } from '../schemas/categoriesFormations.schema';
import { JwtAuthGuard } from '../../auth/guards/jwt-auth.guard';
import { Roles } from '../../users/decorators/roles.decorator';
import { RolesGuard } from '../../users/guards/roles.guard';
import { ApiTags } from '@nestjs/swagger';
@ApiTags('categories')
@Controller('categories/categoriesFormations')
export class CategoriesFormationsController {
constructor(private readonly categoriesFormationsService: CategoriesFormationsService) {}
......
......@@ -5,7 +5,9 @@ import { CategoriesOthers } from '../schemas/categoriesOthers.schema';
import { JwtAuthGuard } from '../../auth/guards/jwt-auth.guard';
import { Roles } from '../../users/decorators/roles.decorator';
import { RolesGuard } from '../../users/guards/roles.guard';
import { ApiTags } from '@nestjs/swagger';
@ApiTags('categories')
@Controller('categories/categoriesOthers')
export class CategoriesOthersController {
constructor(private readonly categoriesOthersService: CategoriesOthersService) {}
......
......@@ -61,6 +61,14 @@ export const config = {
ejs: 'structureDeletionNotification.ejs',
json: 'structureDeletionNotification.json',
},
adminJobCreate: {
ejs: 'adminJobCreate.ejs',
json: 'adminJobCreate.json',
},
adminEmployerCreate: {
ejs: 'adminEmployerCreate.ejs',
json: 'adminEmployerCreate.json',
},
contactMessage: {
ejs: 'contactMessage.ejs',
json: 'contactMessage.json',
......
......@@ -2,14 +2,24 @@ import { Test, TestingModule } from '@nestjs/testing';
import { ContactController } from './contact.controller';
import { ContactService } from './contact.service';
import { MailerModule } from '../mailer/mailer.module';
import { ContactMessage } from './schemas/contact-message.schema';
describe('ContactController', () => {
let controller: ContactController;
const contactServiceMock = {
sendMessage: jest.fn(),
};
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
imports: [MailerModule],
providers: [ContactService],
providers: [
{
provide: ContactService,
useValue: contactServiceMock,
},
],
controllers: [ContactController],
}).compile();
......@@ -19,4 +29,11 @@ describe('ContactController', () => {
it('should be defined', () => {
expect(controller).toBeDefined();
});
it('should call sendMessage', async () => {
const spyer = jest.spyOn(contactServiceMock, 'sendMessage');
await controller.sendContactMessage({ contactMessage: new ContactMessage() });
expect(spyer).toBeCalledTimes(1);
expect(spyer).toBeCalledWith(new ContactMessage());
});
});
import { Body, Controller, Post } from '@nestjs/common';
import { ContactMessage } from './schemas/contact-message.schema';
import { ContactService } from './contact.service';
import { ApiTags } from '@nestjs/swagger';
@ApiTags('contact')
@Controller('contact')
export class ContactController {
constructor(private contactService: ContactService) {}
@Post('message')
public async sendContactMessage(@Body() data: { contactMessage: ContactMessage }): Promise<any> {
await this.contactService.sendMessage(data.contactMessage);
return this.contactService.sendMessage(data.contactMessage);
}
}
......@@ -6,6 +6,6 @@ import { ContactService } from './contact.service';
@Module({
imports: [MailerModule],
controllers: [ContactController],
providers: [ContactService]
providers: [ContactService],
})
export class ContactModule {}
import { HttpStatus } from '@nestjs/common';
import { ContactMessage } from './schemas/contact-message.schema';
import { Test, TestingModule } from '@nestjs/testing';
import { MailerModule } from '../mailer/mailer.module';
import { ContactService } from './contact.service';
import { MailerService } from '../mailer/mailer.service';
import { MailerMockService } from '../../test/mock/services/mailer.mock.service';
import { HttpModule } from '@nestjs/axios';
import { ConfigurationService } from '../configuration/configuration.service';
describe('ContactService', () => {
let service: ContactService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
imports: [MailerModule],
providers: [ContactService],
imports: [HttpModule, MailerModule],
providers: [ContactService, ConfigurationService, { provide: MailerService, useClass: MailerMockService }],
}).compile();
service = module.get<ContactService>(ContactService);
......@@ -17,4 +23,9 @@ describe('ContactService', () => {
it('should be defined', () => {
expect(service).toBeDefined();
});
it('should send message with status OK', async () => {
const res = await service.sendMessage(new ContactMessage());
expect(res.data.status).toBe(HttpStatus.OK);
});
});
Bonjour,<br />
<br />
Un nouvel employeur <%= employerName %> vient d'être créé,
<a href="<%= config.protocol %>://<%= config.host %><%= config.port ? ':' + config.port : '' %>/admin>"
>cliquez ici pour le valider.</a
>
{
"subject": "Nouvelle création d'employeur"
}