Some checks failed
Music Collection CI Workflow / test (./backend) (push) Failing after 29s
Music Collection CI Workflow / test (./frontend) (push) Successful in 36s
Music Collection CI Workflow / build-and-push-images (./backend/Dockerfile, git.anatid.net/tabris/music-collection-backend, ./backend) (push) Has been skipped
Music Collection CI Workflow / build-and-push-images (./frontend/Dockerfile, git.anatid.net/tabris/music-collection-frontend, ./frontend) (push) Has been skipped
Music Collection CI Workflow / deploy (push) Has been skipped
59 lines
2.3 KiB
TypeScript
59 lines
2.3 KiB
TypeScript
import { Test, TestingModule } from '@nestjs/testing';
|
|
import { getRepositoryToken } from '@nestjs/typeorm';
|
|
import { SongController } from './song.controller';
|
|
import { SongService } from './song.service';
|
|
import { Song } from './song.entity';
|
|
import { Album } from '../album/album.entity';
|
|
import { CreateSongDto } from './dto/create-song.dto';
|
|
import { UpdateSongDto } from './dto/update-song.dto';
|
|
import { DeleteResult, Repository } from 'typeorm';
|
|
|
|
const mockSong = new Song();
|
|
const mockAlbum = new Album();
|
|
const mockCreateSongDto = new CreateSongDto();
|
|
const mockUpdateSongDto = new UpdateSongDto();
|
|
const mockDeleteResult = new DeleteResult();
|
|
|
|
describe('SongController', () => {
|
|
let controller: SongController;
|
|
|
|
beforeEach(async () => {
|
|
const module: TestingModule = await Test.createTestingModule({
|
|
controllers: [SongController],
|
|
providers: [
|
|
SongService,
|
|
{
|
|
provide: getRepositoryToken(Song),
|
|
useValue: {
|
|
find: jest.fn().mockResolvedValue([mockSong]),
|
|
findOne: jest.fn().mockResolvedValue(mockSong),
|
|
findOneBy: jest.fn().mockResolvedValue({ id: 3, title: 'some song', duration: 300, trackNumber: 2, album: mockAlbum }),
|
|
create: jest.fn().mockResolvedValue(mockSong),
|
|
save: jest.fn().mockResolvedValue({ id: 3, title: 'some song', duration: 300, trackNumber: 2, album: mockAlbum }),
|
|
update: jest.fn().mockResolvedValue(mockSong),
|
|
delete: jest.fn().mockResolvedValue(mockDeleteResult),
|
|
},
|
|
},
|
|
{
|
|
provide: getRepositoryToken(Album),
|
|
useValue: {
|
|
find: jest.fn().mockResolvedValue([mockAlbum]),
|
|
findOne: jest.fn().mockResolvedValue(mockAlbum),
|
|
findOneBy: jest.fn().mockResolvedValue({ id: 1, title: 'some album', artist: 'some artist', genre: 'some genre' }),
|
|
create: jest.fn().mockResolvedValue(mockAlbum),
|
|
save: jest.fn().mockResolvedValue({ id: 1, title: 'some album', artist: 'some artist', genre: 'some genre' }),
|
|
update: jest.fn().mockResolvedValue(mockAlbum),
|
|
delete: jest.fn().mockResolvedValue(mockDeleteResult),
|
|
},
|
|
},
|
|
]
|
|
}).compile();
|
|
|
|
controller = module.get<SongController>(SongController);
|
|
});
|
|
|
|
it('should be defined', () => {
|
|
expect(controller).toBeDefined();
|
|
});
|
|
});
|