fix: report group control failures
This commit is contained in:
@@ -478,4 +478,24 @@ void main() {
|
||||
expect(api.controlledGroupId, 'kitchen');
|
||||
expect(api.controlGroupParams, containsPair('scene', 'party'));
|
||||
});
|
||||
|
||||
test('debounced group control error is reported', () async {
|
||||
final api = FakeIgnisApi();
|
||||
final container = containerWith(api);
|
||||
api.controlGroupError = DioException(
|
||||
requestOptions: RequestOptions(path: '/control/group/kitchen'),
|
||||
type: DioExceptionType.connectionError,
|
||||
message: 'No route to host',
|
||||
);
|
||||
|
||||
container.read(groupsProvider.notifier).setBrightness('kitchen', 42);
|
||||
await Future<void>.delayed(const Duration(milliseconds: 400));
|
||||
|
||||
final error = container.read(groupControlErrorProvider);
|
||||
expect(error, isNotNull);
|
||||
expect(error!.groupId, 'kitchen');
|
||||
expect(error.action, 'яркость');
|
||||
expect(error.message, contains('Backend недоступен'));
|
||||
expect(api.controlGroupParams, containsPair('brightness', 42));
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user