forked from eatvio/eatvio_app
36 lines
1.3 KiB
Dart
36 lines
1.3 KiB
Dart
import 'package:eatvio_app/features/glossary/models/glossary_model.dart';
|
|
import 'package:eatvio_app/features/glossary/services/glossary_service.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:mockito/annotations.dart';
|
|
import 'package:mockito/mockito.dart';
|
|
|
|
import '../../../fixtures/fixture_reader.dart';
|
|
import 'glossary_service_test.mocks.dart';
|
|
|
|
@GenerateNiceMocks([MockSpec<GlossaryService>()])
|
|
void main() {
|
|
group('GlossaryService', () {
|
|
late MockGlossaryService mockGlossaryService;
|
|
|
|
setUp(() {
|
|
mockGlossaryService = MockGlossaryService();
|
|
});
|
|
|
|
test('getGlossaryByQuery - возвращает глоссарий по запросу', () async {
|
|
const query = 'яблоко';
|
|
final json = FixtureReader.readAsMap('diary/glossary_pagination_response.json');
|
|
final expectedGlossary = GlossaryPaginationModel.fromJson(json);
|
|
|
|
when(mockGlossaryService.getGlossaryByQuery(query: query))
|
|
.thenAnswer((_) async => expectedGlossary);
|
|
|
|
final result = await mockGlossaryService.getGlossaryByQuery(query: query);
|
|
|
|
expect(result, isA<GlossaryPaginationModel>());
|
|
expect(result.glossariesList.length, 1);
|
|
verify(mockGlossaryService.getGlossaryByQuery(query: query)).called(1);
|
|
});
|
|
});
|
|
}
|
|
|