WT1.1.10 compact test, paralell test

This commit is contained in:
bossanyit
2021-03-25 21:54:18 +01:00
parent 2e0d7fc37d
commit f724737ea3
65 changed files with 5250 additions and 749 deletions
@@ -0,0 +1,59 @@
import 'dart:async';
import 'package:aitrainer_app/bloc/test_set_execute/test_set_execute_bloc.dart';
import 'package:aitrainer_app/model/cache.dart';
import 'package:aitrainer_app/model/exercise_type.dart';
import 'package:aitrainer_app/repository/exercise_repository.dart';
import 'package:aitrainer_app/util/enums.dart';
import 'package:aitrainer_app/util/track.dart';
import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
part 'test_set_new_event.dart';
part 'test_set_new_state.dart';
class TestSetNewBloc extends Bloc<TestSetNewEvent, TestSetNewState> {
final ExerciseRepository exerciseRepository;
final ExerciseType exerciseType;
final int exercisePlanDetailId;
final TestSetExecuteBloc executeBloc;
TestSetNewBloc({this.exerciseRepository, this.exerciseType, this.exercisePlanDetailId, this.executeBloc}) : super(TestSetNewInitial()) {
exerciseRepository.exerciseType = exerciseType;
quantity = 12;
unitQuantity = 30;
exerciseRepository.setQuantity(quantity);
exerciseRepository.setUnit(exerciseType.unit);
exerciseRepository.setUnitQuantity(unitQuantity);
exerciseRepository.exercise.exercisePlanDetailId = exercisePlanDetailId;
exerciseRepository.start = DateTime.now();
exerciseRepository.setCustomer(Cache().userLoggedIn);
}
double quantity;
double unitQuantity;
@override
Stream<TestSetNewState> mapEventToState(
TestSetNewEvent event,
) async* {
try {
if (event is TestSetNewChangeQuantity) {
quantity = event.quantity;
exerciseRepository.setQuantity(quantity);
} else if (event is TestSetNewChangeQuantityUnit) {
unitQuantity = event.quantity;
exerciseRepository.setUnitQuantity(unitQuantity);
} else if (event is TestSetNewSubmit) {
yield TestSetNewLoading();
exerciseRepository.end = DateTime.now();
await exerciseRepository.addExercise();
executeBloc.add(
TestSetExecuteExerciseFinished(exerciseTypeId: exerciseType.exerciseTypeId, quantity: quantity, unitQuantity: unitQuantity));
Track().track(TrackingEvent.test_set_new, eventValue: exerciseType.name);
}
} on Exception catch (e) {
yield TestSetNewError(message: e.toString());
}
}
}
@@ -0,0 +1,32 @@
part of 'test_set_new_bloc.dart';
abstract class TestSetNewEvent extends Equatable {
const TestSetNewEvent();
@override
List<Object> get props => [];
}
class TestSetNewLoad extends TestSetNewEvent {
const TestSetNewLoad();
}
class TestSetNewChangeQuantity extends TestSetNewEvent {
final double quantity;
const TestSetNewChangeQuantity({this.quantity});
@override
List<Object> get props => [quantity];
}
class TestSetNewChangeQuantityUnit extends TestSetNewEvent {
final double quantity;
const TestSetNewChangeQuantityUnit({this.quantity});
@override
List<Object> get props => [quantity];
}
class TestSetNewSubmit extends TestSetNewEvent {
const TestSetNewSubmit();
}
@@ -0,0 +1,28 @@
part of 'test_set_new_bloc.dart';
abstract class TestSetNewState extends Equatable {
const TestSetNewState();
@override
List<Object> get props => [];
}
class TestSetNewInitial extends TestSetNewState {
const TestSetNewInitial();
}
class TestSetNewLoading extends TestSetNewState {
const TestSetNewLoading();
}
class TestSetNewReady extends TestSetNewState {
const TestSetNewReady();
}
class TestSetNewError extends TestSetNewState {
final String message;
const TestSetNewError({this.message});
@override
List<Object> get props => [message];
}