Skip to content

Instantly share code, notes, and snippets.

@AbedElazizShe
Created February 1, 2022 16:33
Show Gist options
  • Save AbedElazizShe/c0ea370967d48de254825f8121c97555 to your computer and use it in GitHub Desktop.
Save AbedElazizShe/c0ea370967d48de254825f8121c97555 to your computer and use it in GitHub Desktop.
import 'package:data/data.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
import '../../mock/mock_article_entity.dart';
import 'remote_data_source_test.mocks.dart';
@GenerateMocks([
ArticlesRemoteRepository,
])
void main() {
late ArticlesRemoteRepository articlesRemoteRepository;
late RemoteDataSource remoteDataSource;
setUp(() {
articlesRemoteRepository = MockArticlesRemoteRepository();
remoteDataSource =
RemoteDataSource(articlesRemoteRepository: articlesRemoteRepository);
});
test('should get most emailed list of articles upon retrieval from remote',
() async {
when(articlesRemoteRepository.getMostEmailedArticles())
.thenAnswer((_) async => mockArticles);
final List<ArticlesEntity> articles =
await remoteDataSource.getMostEmailedArticles();
expect(articles, isNotNull);
expect(articles.length, same(1));
verify(articlesRemoteRepository.getMostEmailedArticles()).called(1);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment