mucke/test/system/datasources/moor_music_data_source_test.dart

67 lines
1.7 KiB
Dart
Raw Normal View History

2020-03-28 09:38:52 +01:00
import 'package:flutter_test/flutter_test.dart';
import 'package:moor_ffi/moor_ffi.dart';
2020-04-16 08:13:30 +02:00
import 'package:mucke/system/datasources/moor_music_data_source.dart';
import 'package:mucke/system/models/album_model.dart';
import 'package:mucke/system/models/song_model.dart';
2020-03-28 09:38:52 +01:00
import '../../test_constants.dart';
void main() {
MoorMusicDataSource moorMusicDataSource;
AlbumModel albumModel;
SongModel songModel;
2020-03-28 09:38:52 +01:00
setUp(() {
moorMusicDataSource =
MoorMusicDataSource.withQueryExecutor(VmDatabase.memory());
2020-08-12 20:59:00 +02:00
albumModel = const AlbumModel(
2020-03-28 14:35:41 +01:00
title: ALBUM_TITLE_1,
2020-03-28 09:38:52 +01:00
artist: ARTIST_1,
albumArtPath: ALBUM_ART_PATH_1,
2020-06-28 21:52:10 +02:00
year: YEAR_1,
2020-03-28 09:38:52 +01:00
);
2020-08-12 20:59:00 +02:00
songModel = const SongModel(
title: SONG_TITLE_3,
album: ALBUM_TITLE_3,
2020-06-28 21:52:10 +02:00
albumId: ALBUM_ID_3,
artist: ARTIST_3,
path: PATH_3,
2020-04-11 14:27:49 +02:00
duration: DURATION_3,
trackNumber: TRACKNUMBER_3,
albumArtPath: ALBUM_ART_PATH_3,
);
2020-03-28 09:38:52 +01:00
});
tearDown(() async {
await moorMusicDataSource.close();
});
group('insertAlbum and getAlbums', () {
test(
'should return the album that was inserted',
() async {
// act
moorMusicDataSource.insertAlbum(albumModel);
// assert
final List<AlbumModel> albums = await moorMusicDataSource.getAlbums();
expect(albums.first, albumModel);
},
);
});
group('insertSong and getSongs', () {
test(
'should return the song that was inserted',
() async {
// act
moorMusicDataSource.insertSong(songModel);
// assert
final List<SongModel> songs = await moorMusicDataSource.getSongs();
expect(songs.first, songModel);
},
);
});
2020-03-28 09:38:52 +01:00
}