72 lines
1.6 KiB
Dart
72 lines
1.6 KiB
Dart
|
import 'package:angel_file_service/angel_file_service.dart';
|
||
|
import 'package:file/file.dart';
|
||
|
import 'package:file/memory.dart';
|
||
|
import 'package:test/test.dart';
|
||
|
|
||
|
main() {
|
||
|
MemoryFileSystem fs;
|
||
|
File dbFile;
|
||
|
JsonFileService service;
|
||
|
|
||
|
setUp(() async {
|
||
|
fs = new MemoryFileSystem();
|
||
|
dbFile = fs.file('db.json');
|
||
|
service = new 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"}
|
||
|
]);
|
||
|
});
|
||
|
}
|