File tree Expand file tree Collapse file tree 2 files changed +58
-0
lines changed
lib/feature/domain/usecase/ping
test/feature/domain/usecase/ping Expand file tree Collapse file tree 2 files changed +58
-0
lines changed Original file line number Diff line number Diff line change 1+ import 'package:dipantau_desktop_client/core/error/failure.dart' ;
2+ import 'package:dipantau_desktop_client/core/usecase/usecase.dart' ;
3+ import 'package:dipantau_desktop_client/feature/data/model/general/general_response.dart' ;
4+ import 'package:dipantau_desktop_client/feature/domain/repository/general/general_repository.dart' ;
5+
6+ class Ping implements UseCaseRecords <GeneralResponse , NoParams > {
7+ final GeneralRepository repository;
8+
9+ Ping ({required this .repository});
10+
11+ @override
12+ Future <({Failure ? failure, GeneralResponse ? response})> call (NoParams params) {
13+ return repository.ping ();
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ import 'dart:convert' ;
2+
3+ import 'package:dipantau_desktop_client/core/usecase/usecase.dart' ;
4+ import 'package:dipantau_desktop_client/feature/data/model/general/general_response.dart' ;
5+ import 'package:dipantau_desktop_client/feature/domain/usecase/ping/ping.dart' ;
6+ import 'package:flutter_test/flutter_test.dart' ;
7+ import 'package:mockito/mockito.dart' ;
8+
9+ import '../../../../fixture/fixture_reader.dart' ;
10+ import '../../../../helper/mock_helper.mocks.dart' ;
11+
12+ void main () {
13+ late Ping useCase;
14+ late MockGeneralRepository mockRepository;
15+
16+ setUp (() {
17+ mockRepository = MockGeneralRepository ();
18+ useCase = Ping (repository: mockRepository);
19+ });
20+
21+ test (
22+ 'pastikan objek repository berhasil menerima respon sukses atau gagal dari endpoint' ,
23+ () async {
24+ // arrange
25+ final tResponse = GeneralResponse .fromJson (
26+ json.decode (
27+ fixture ('general_response.json' ),
28+ ),
29+ );
30+ final tParams = NoParams ();
31+ final tResult = (failure: null , response: tResponse);
32+ when (mockRepository.ping ()).thenAnswer ((_) async => tResult);
33+
34+ // act
35+ final result = await useCase (tParams);
36+
37+ // assert
38+ expect (result, tResult);
39+ verify (mockRepository.ping ());
40+ verifyNoMoreInteractions (mockRepository);
41+ },
42+ );
43+ }
You can’t perform that action at this time.
0 commit comments