blob: 68f6a6ae3368f4f9b42a7b090f3348309fab4e2e [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:fidl/fidl.dart';
import 'package:fidl_fuchsia_modular/fidl_async.dart' as fuchsia_modular;
import 'package:mockito/mockito.dart';
import 'package:test/test.dart';
import 'package:fuchsia_modular/src/module/internal/_ongoing_activity_impl.dart'; // ignore: implementation_imports
class MockyProxyController extends Mock
implements AsyncProxyController<fuchsia_modular.OngoingActivityProxy> {}
class MockProxy extends Mock implements fuchsia_modular.OngoingActivityProxy {
final MockyProxyController _ctrl;
MockProxy(this._ctrl) : super();
@override
AsyncProxyController<fuchsia_modular.OngoingActivityProxy> get ctrl => _ctrl;
}
void main() {
group('ongoing activity impl', () {
MockyProxyController mockControler;
MockProxy mockProxy;
setUp(() {
mockControler = MockyProxyController();
mockProxy = MockProxy(mockControler);
});
test('calls close on the proxy when done called', () {
OngoingActivityImpl(mockProxy).done();
verify(mockControler.close());
});
test('throws when done called twice', () {
final activity = OngoingActivityImpl(mockProxy)..done();
expect(activity.done, throwsException);
});
});
}