Build Android (FCM) / build-android-fcm (push) Canceled after 0s
Build Android / build-android (push) Canceled after 0s
Build iOS / build-ios (push) Canceled after 0s
Build Linux / build-linux (push) Canceled after 0s
Build macOS / build-macos (push) Canceled after 0s
Build Windows / build-windows (push) Canceled after 0s
Release (main) / android (oneme) (push) Canceled after 0s
Release (main) / android (qlyra) (push) Canceled after 0s
Release (main) / windows (push) Canceled after 0s
Release (main) / linux (push) Canceled after 0s
Release (main) / macos (push) Canceled after 0s
Release (main) / ios (push) Canceled after 0s
Release (main) / release (push) Canceled after 0s
35 lines
902 B
Dart
35 lines
902 B
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:qlyra/backend/modules/webapp.dart';
|
|
|
|
void main() {
|
|
group('ExternalCallbackResult', () {
|
|
test('parses callback response fields', () {
|
|
final result = ExternalCallbackResult.fromPayload({
|
|
'botId': '123456',
|
|
'startParam': 'esia-complete',
|
|
});
|
|
|
|
expect(result?.botId, 123456);
|
|
expect(result?.startParam, 'esia-complete');
|
|
});
|
|
|
|
test('parses a nested protocol response', () {
|
|
final result = ExternalCallbackResult.fromPayload({
|
|
'data': {'bot_id': 42, 'start_param': 'done'},
|
|
});
|
|
|
|
expect(result?.botId, 42);
|
|
expect(result?.startParam, 'done');
|
|
});
|
|
|
|
test('rejects a response without a bot id', () {
|
|
expect(
|
|
ExternalCallbackResult.fromPayload({
|
|
'data': {'startParam': 'done'},
|
|
}),
|
|
isNull,
|
|
);
|
|
});
|
|
});
|
|
}
|