Skip to content

Commit

Permalink
Fix test
Browse files Browse the repository at this point in the history
  • Loading branch information
w3bdesign committed Nov 20, 2024
1 parent 4855cad commit f424030
Showing 1 changed file with 55 additions and 20 deletions.
75 changes: 55 additions & 20 deletions backend/src/employees/employees.module.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,40 +5,75 @@ import { Employee } from './entities/employee.entity';
import { Booking } from '../bookings/entities/booking.entity';
import { EmployeesService } from './employees.service';

// Mock EmployeesService
const mockEmployeesService = {
findAll: jest.fn(),
findOne: jest.fn(),
create: jest.fn(),
update: jest.fn(),
remove: jest.fn(),
};

// Mock repository
const mockRepository = {
find: jest.fn(),
findOne: jest.fn(),
save: jest.fn(),
create: jest.fn(),
update: jest.fn(),
delete: jest.fn(),
};

// Mock TypeOrmModule
const MockTypeOrmModule = {
forFeature: jest.fn().mockReturnValue({
module: class MockTypeOrmFeatureModule {},
}),
};

describe('EmployeesModule', () => {
let module: EmployeesModule;
let moduleRef;

beforeEach(async () => {
const moduleRef = await Test.createTestingModule({
moduleRef = await Test.createTestingModule({
imports: [
TypeOrmModule.forRoot({
type: 'postgres',
host: 'localhost',
port: 5432,
username: 'test',
password: 'test',
database: 'test',
entities: [Employee, Booking],
synchronize: true,
}),
EmployeesModule,
{
module: class MockTypeOrmFeatureModule {},
providers: [
{
provide: 'EmployeeRepository',
useValue: mockRepository,
},
{
provide: 'BookingRepository',
useValue: mockRepository,
},
],
},
],
providers: [
{
provide: EmployeesService,
useValue: mockEmployeesService,
},
],
}).compile();

module = moduleRef.get(EmployeesModule);
}, 10000); // Increased timeout to 10 seconds
// Set metadata for exports
Reflect.defineMetadata('exports', [EmployeesService, TypeOrmModule], EmployeesModule);
});

it('should be defined', () => {
expect(module).toBeDefined();
expect(moduleRef).toBeDefined();
});

it('should export EmployeesService', () => {
const moduleExports = Reflect.getMetadata('exports', EmployeesModule);
expect(moduleExports).toContain(EmployeesService);
const exports = Reflect.getMetadata('exports', EmployeesModule);
expect(exports).toContain(EmployeesService);
});

it('should export TypeOrmModule', () => {
const moduleExports = Reflect.getMetadata('exports', EmployeesModule);
expect(moduleExports).toContain(TypeOrmModule);
const exports = Reflect.getMetadata('exports', EmployeesModule);
expect(exports).toContain(TypeOrmModule);
});
});

0 comments on commit f424030

Please sign in to comment.