71 lines
1.6 KiB
Dart
71 lines
1.6 KiB
Dart
import 'package:angel3_file_service/angel3_file_service.dart';
|
|
import 'package:file/file.dart';
|
|
import 'package:file/memory.dart';
|
|
import 'package:test/test.dart';
|
|
|
|
void main() {
|
|
MemoryFileSystem fs;
|
|
File dbFile;
|
|
late JsonFileService service;
|
|
|
|
setUp(() async {
|
|
fs = MemoryFileSystem();
|
|
dbFile = fs.file('db.json');
|
|
service = JsonFileService(dbFile);
|
|
|
|
await dbFile.writeAsString('''
|
|
[
|
|
{"id": "0", "foo": "bar"},
|
|
{"id": "1", "foo": "baz"},
|
|
{"id": "2", "foo": "quux"}
|
|
]
|
|
''');
|
|
});
|
|
|
|
tearDown(() => service.close());
|
|
|
|
test('index no params', () async {
|
|
expect(await service.index(), [
|
|
{'id': '0', 'foo': 'bar'},
|
|
{'id': '1', 'foo': 'baz'},
|
|
{'id': '2', 'foo': 'quux'}
|
|
]);
|
|
});
|
|
|
|
test('index with query', () async {
|
|
expect(
|
|
await service.index({
|
|
'query': {'foo': 'bar'}
|
|
}),
|
|
[
|
|
{'id': '0', 'foo': 'bar'}
|
|
],
|
|
);
|
|
});
|
|
|
|
test('read', () async {
|
|
expect(
|
|
await service.read('2'),
|
|
{'id': '2', 'foo': 'quux'},
|
|
);
|
|
});
|
|
|
|
test('modify', () async {
|
|
await service.modify('2', {'baz': 'quux'});
|
|
expect(await service.read('2'), containsPair('baz', 'quux'));
|
|
});
|
|
|
|
test('update', () async {
|
|
await service.update('2', {'baz': 'quux'});
|
|
expect(await service.read('2'), containsPair('baz', 'quux'));
|
|
expect(await service.read('2'), isNot(containsPair('foo', 'quux')));
|
|
});
|
|
|
|
test('delete', () async {
|
|
await service.remove('2');
|
|
expect(await service.index(), [
|
|
{'id': '0', 'foo': 'bar'},
|
|
{'id': '1', 'foo': 'baz'}
|
|
]);
|
|
});
|
|
}
|