diff --git a/test/use_case/find_file_test.dart b/test/use_case/find_file_test.dart new file mode 100644 index 00000000..a56060b3 --- /dev/null +++ b/test/use_case/find_file_test.dart @@ -0,0 +1,40 @@ +import 'package:nc_photos/use_case/find_file.dart'; +import 'package:test/test.dart'; + +import '../mock_type.dart'; +import '../test_util.dart' as util; + +void main() { + util.initLog(); + group("FindFile", () { + test("file", _findFile); + test("missing file", _findMissingFile); + }); +} + +/// Find a file in app db +/// +/// Expect: return the file found +Future _findFile() async { + final account = util.buildAccount(); + final files = (util.FilesBuilder() + ..addJpeg("admin/test1.jpg") + ..addJpeg("admin/test2.jpg")) + .build(); + final appDb = MockAppDb(); + await util.fillAppDb(appDb, account, files); + + expect(await FindFile(appDb)(account, 1), files[1]); +} + +/// Find a file not existing in app db +/// +/// Expect: throw StateError +Future _findMissingFile() async { + final account = util.buildAccount(); + final files = (util.FilesBuilder()..addJpeg("admin/test1.jpg")).build(); + final appDb = MockAppDb(); + await util.fillAppDb(appDb, account, files); + + expect(() => FindFile(appDb)(account, 1), throwsStateError); +}