feat(ground-suite): add replay observability console
This commit is contained in:
1 parent
1d28db2983
commit
c06c293f49
33 files changed
+2636
No files matched your search
@@ -0,0 +1,30 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:ground_suite/core/observations/observed_event.dart';
|
||||
import 'package:ground_suite/core/observations/vehicle_data_update.dart';
|
||||
import 'package:ground_suite/core/transport/replay_vehicle_data_port.dart';
|
||||
|
||||
void main() {
|
||||
test('replay covers identity, telemetry, log, error, and shutdown', () async {
|
||||
const port = ReplayVehicleDataPort();
|
||||
|
||||
final events = [
|
||||
for (final update in await port.observe().toList())
|
||||
if (update case ObservationReceived(:final event)) event,
|
||||
];
|
||||
|
||||
expect(events.whereType<HeartbeatEvent>(), hasLength(1));
|
||||
expect(events.whereType<TelemetryEvent>(), hasLength(2));
|
||||
final logs = events.whereType<LogEvent>().toList();
|
||||
final errors = events.whereType<ErrorEvent>().toList();
|
||||
expect(logs, hasLength(2));
|
||||
expect(errors, hasLength(1));
|
||||
expect(events.whereType<ShutdownEvent>(), hasLength(1));
|
||||
expect(logs.first.isCoalesced, isTrue);
|
||||
expect(errors.single.isTruncated, isTrue);
|
||||
});
|
||||
|
||||
test('unknown wire enum values remain visible', () {
|
||||
expect(const MavSeverity(99).label, 'Unknown (99)');
|
||||
expect(const KaptanShutdownReason(99).label, 'Unknown (99)');
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user