chore: Publish version 0.0.1 of the packages (#103)
This commit is contained in:
parent
20b23a1a9c
commit
a24faf39af
1 changed files with 112 additions and 156 deletions
|
|
@ -0,0 +1,74 @@
|
|||
import 'package:serverpod_offline_sync/serverpod_offline_sync.dart';
|
||||
import 'package:test/test.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
const _isoTime = '2001-09-09T01:46:40.000Z';
|
||||
final _dateTime = DateTime.parse(_isoTime);
|
||||
final _nodeId = const Uuid().v4obj();
|
||||
|
||||
void main() {
|
||||
test('Given an HLC built with dateTime, counter and nodeId '
|
||||
'when reading properties '
|
||||
'then dateTime, counter and nodeId match.', () {
|
||||
final hlc = Hlc(_dateTime, 0x17, _nodeId);
|
||||
|
||||
expect(hlc.datetime, _dateTime);
|
||||
expect(hlc.counter, 0x17);
|
||||
expect(hlc.nodeId, _nodeId);
|
||||
});
|
||||
|
||||
test('Given Hlc.zero '
|
||||
'when building for a nodeId '
|
||||
'then it equals epoch with zero counter.', () {
|
||||
final zero = Hlc.zero(_nodeId);
|
||||
|
||||
expect(zero.unixTimestamp, 0);
|
||||
expect(zero.counter, 0);
|
||||
expect(zero.nodeId, _nodeId);
|
||||
});
|
||||
|
||||
test('Given an ISO HLC string '
|
||||
'when parsing '
|
||||
'then it returns the equivalent Hlc.', () {
|
||||
final hlc = Hlc(_dateTime, 0x17, _nodeId);
|
||||
|
||||
expect(Hlc.parse('${_dateTime.toIso8601String()}-0017-$_nodeId'), hlc);
|
||||
});
|
||||
|
||||
test('Given a Unix timestamp HLC string '
|
||||
'when parsing '
|
||||
'then it returns the equivalent Hlc.', () {
|
||||
final hlc = Hlc(_dateTime, 0x17, _nodeId);
|
||||
|
||||
expect(Hlc.parse('${_dateTime.millisecondsSinceEpoch}-0017-$_nodeId'), hlc);
|
||||
});
|
||||
|
||||
test('Given legacy string with :worker suffix '
|
||||
'when parsing '
|
||||
'then node id is the uuid only.', () {
|
||||
final hlc = Hlc.parse('$_isoTime-0017-$_nodeId:7');
|
||||
expect(hlc.nodeId, _nodeId);
|
||||
expect(hlc.counter, 0x17);
|
||||
expect(hlc.datetime, _dateTime);
|
||||
});
|
||||
|
||||
test('Given a parsed Hlc '
|
||||
'when calling toString '
|
||||
'then it returns the ISO HLC string.', () {
|
||||
final hlc = Hlc.parse('$_isoTime-0017-$_nodeId');
|
||||
|
||||
expect(hlc.toString(), '$_isoTime-0017-$_nodeId');
|
||||
});
|
||||
|
||||
test('Given an HLC '
|
||||
'when converting to JSON '
|
||||
'then it returns the equivalent string.', () {
|
||||
final hlc = Hlc(_dateTime, 0x17, _nodeId);
|
||||
|
||||
expect(hlc.toJson(), {
|
||||
'datetime': _dateTime.toIso8601String(),
|
||||
'counter': '0017',
|
||||
'node': _nodeId.toString(),
|
||||
});
|
||||
});
|
||||
}
|
||||
Loading…
Reference in a new issue