workouttest_app/test/customer_service_test.dart
2020-09-16 15:41:39 +02:00

52 lines
1.6 KiB
Dart

import 'package:aitrainer_app/model/cache.dart';
import 'package:aitrainer_app/model/customer.dart';
import 'package:aitrainer_app/service/customer_service.dart';
import 'package:aitrainer_app/util/env.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/mockito.dart';
//import 'package:mockito/mockito.dart';
// Create a MockClient using the Mock class provided by the Mockito package.
// Create new instances of this class in each test.
/* class MockClient extends Mock implements CustomerApi {
Future<List<Customer>> getTrainees(int trainerId) async {
if (trainerId == 62) {
List<Customer> list = List<Customer>();
Customer customer1 = Customer(firstname: "Zalán", name: "Boss");
Customer customer2 = Customer(firstname: "Zétény", name: "Boss");
list.add(customer1);
list.add(customer2);
return list;
} else {
throw Exception("No trainees found");
}
}
} */
main() {
setUp(() {
Cache().setTestBaseUrl();
});
group('fetchPost', () {
test('returns a List<Customer> if the http call completes successfully', () async {
final client = CustomerApi();
// Use Mockito to return a successful response when it calls the
// provided http.Client.
List<Customer> trainees = List<Customer>();
trainees = await client.getTrainees(62);
expect(trainees.length, 2);
expect(trainees[0].firstname, "Zalán");
});
test('throws an exception if the http call completes with an error', () async {
final client = CustomerApi();
expect(client.getTrainees(22), throwsException);
});
});
}