blob: bf7885bb77c64f0929927bbc4aeeb74c68b0e219 [file] [log] [blame]
// Copyright 2013 The Flutter 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:flutter_test/flutter_test.dart';
import 'package:interactive_media_ads/src/android/android_content_progress_provider.dart';
import 'package:interactive_media_ads/src/android/interactive_media_ads.g.dart'
as ima;
import 'package:interactive_media_ads/src/android/interactive_media_ads_proxy.dart';
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
import 'content_progress_provider_test.mocks.dart';
@GenerateNiceMocks(<MockSpec<Object>>[
MockSpec<ima.ContentProgressProvider>(),
])
void main() {
group('AndroidContentProgressProvider', () {
test('setProgress', () async {
final MockContentProgressProvider mockContentProgressProvider =
MockContentProgressProvider();
final AndroidContentProgressProvider provider =
AndroidContentProgressProvider(
AndroidContentProgressProviderCreationParams(
proxy: InteractiveMediaAdsProxy(
newContentProgressProvider: () => mockContentProgressProvider,
newVideoProgressUpdate: ({
required int currentTimeMs,
required int durationMs,
}) {
expect(currentTimeMs, 1000);
expect(durationMs, 10000);
return ima.VideoProgressUpdate.pigeon_detached();
},
),
),
);
await provider.setProgress(
progress: const Duration(seconds: 1),
duration: const Duration(seconds: 10),
);
verify(mockContentProgressProvider.setContentProgress(any));
});
});
}