Skip to content

Commit e425ba8

Browse files
committed
Update business logic create track
Kirimkan parameter `trackEntityId` dari view ke bloc dan ke state. Sekarang flow create track sudah diubah dimana, ketika ambil screenshot itu datanya disimpan dahulu ke lokal. Lalu, jika menerima respon sukses dari endpoint maka, data tadi dihapus dari lokal.
1 parent 8cad6bb commit e425ba8

File tree

6 files changed

+24
-10
lines changed

6 files changed

+24
-10
lines changed

lib/feature/presentation/bloc/tracking/tracking_bloc.dart

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,12 @@ class TrackingBloc extends Bloc<TrackingEvent, TrackingState> {
4242
final response = result.response;
4343
final failure = result.failure;
4444
if (response != null) {
45-
emit(SuccessCreateTimeTrackingState(files: event.body.files));
45+
emit(
46+
SuccessCreateTimeTrackingState(
47+
files: event.body.files,
48+
trackEntityId: event.trackEntityId,
49+
),
50+
);
4651
return;
4752
}
4853

@@ -102,4 +107,4 @@ class TrackingBloc extends Bloc<TrackingEvent, TrackingState> {
102107
),
103108
);
104109
}
105-
}
110+
}

lib/feature/presentation/bloc/tracking/tracking_event.dart

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@ abstract class TrackingEvent {
66

77
class CreateTimeTrackingEvent extends TrackingEvent {
88
final CreateTrackBody body;
9+
final int trackEntityId;
910

10-
CreateTimeTrackingEvent({required this.body});
11+
CreateTimeTrackingEvent({
12+
required this.body,
13+
required this.trackEntityId,
14+
});
1115

1216
@override
1317
String toString() {
14-
return 'CreateTimeTrackingEvent{body: $body}';
18+
return 'CreateTimeTrackingEvent{body: $body, trackEntityId: $trackEntityId}';
1519
}
1620
}
1721

lib/feature/presentation/bloc/tracking/tracking_state.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,16 @@ class FailureTrackingState extends TrackingState {
2121

2222
class SuccessCreateTimeTrackingState extends TrackingState {
2323
final List<String> files;
24+
final int trackEntityId;
2425

2526
SuccessCreateTimeTrackingState({
2627
required this.files,
28+
required this.trackEntityId,
2729
});
2830

2931
@override
3032
String toString() {
31-
return 'SuccessCreateTimeTrackingState{files: $files}';
33+
return 'SuccessCreateTimeTrackingState{files: $files, trackEntityId: $trackEntityId}';
3234
}
3335
}
3436

test/feature/presentation/bloc/tracking/tracking_bloc_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ void main() {
5656
),
5757
);
5858
final tParams = ParamsCreateTrack(body: tBody);
59-
final tEvent = CreateTimeTrackingEvent(body: tBody);
59+
final tEvent = CreateTimeTrackingEvent(body: tBody, trackEntityId: 1);
6060

6161
blocTest(
6262
'pastikan emit [LoadingTrackingState, SuccessCreateTimeTrackingState] ketika terima event '

test/feature/presentation/bloc/tracking/tracking_event_test.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ void main() {
1414
fixture('create_track_body.json'),
1515
),
1616
);
17-
final tEvent = CreateTimeTrackingEvent(body: tBody);
17+
final tEvent = CreateTimeTrackingEvent(body: tBody, trackEntityId: 0);
1818

1919
test(
2020
'pastikan output dari fungsi toString',
2121
() async {
2222
// assert
2323
expect(
2424
tEvent.toString(),
25-
'CreateTimeTrackingEvent{body: ${tEvent.body}}',
25+
'CreateTimeTrackingEvent{body: ${tEvent.body}, trackEntityId: ${tEvent.trackEntityId}}',
2626
);
2727
},
2828
);

test/feature/presentation/bloc/tracking/tracking_state_test.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,18 @@ void main() {
1818
});
1919

2020
group('SuccessCreateTimeTrackingState', () {
21-
final tState = SuccessCreateTimeTrackingState(files: ['1', '2']);
21+
final tState = SuccessCreateTimeTrackingState(
22+
files: ['1', '2'],
23+
trackEntityId: 1,
24+
);
2225

2326
test(
2427
'pastikan output dari fungsi toString',
2528
() async {
2629
// assert
2730
expect(
2831
tState.toString(),
29-
'SuccessCreateTimeTrackingState{files: ${tState.files}}',
32+
'SuccessCreateTimeTrackingState{files: ${tState.files}, trackEntityId: ${tState.trackEntityId}}',
3033
);
3134
},
3235
);

0 commit comments

Comments
 (0)