Files
eatvio_app/test/features/glossary/services/glossary_service_test.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);
});
});
}