51 lines
1.8 KiB
Dart
51 lines
1.8 KiB
Dart
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:workouttest_util/model/membership.dart';
|
|
|
|
void main() {
|
|
group('Membership', () {
|
|
test('fromJson() correctly sets properties', () {
|
|
final json = {
|
|
'membershipId': 1,
|
|
'name': 'Basic Membership',
|
|
'description': 'This is a basic membership',
|
|
'duration': 30,
|
|
'durationType': 'subscription',
|
|
'durationUnit': 'day',
|
|
'trainingPlanId': null,
|
|
'trainingPlanDayIds': null,
|
|
};
|
|
final membership = Membership.fromJson(json);
|
|
expect(membership.membershipId, 1);
|
|
expect(membership.name, 'Basic Membership');
|
|
expect(membership.description, 'This is a basic membership');
|
|
expect(membership.duration, 30);
|
|
expect(membership.durationType, DurationType.subscription);
|
|
expect(membership.durationUnit, DurationUnit.day);
|
|
expect(membership.trainingPlanId, 0);
|
|
expect(membership.trainingPlanDayIds, '');
|
|
});
|
|
|
|
test('toJson() correctly returns a Map', () {
|
|
final membership = Membership()
|
|
..membershipId = 1
|
|
..name = 'Basic Membership'
|
|
..description = 'This is a basic membership'
|
|
..duration = 30
|
|
..durationType = DurationType.subscription
|
|
..durationUnit = DurationUnit.day
|
|
..trainingPlanId = null
|
|
..trainingPlanDayIds = null;
|
|
|
|
final json = membership.toJson();
|
|
expect(json['membershipId'], 1);
|
|
expect(json['name'], 'Basic Membership');
|
|
expect(json['description'], 'This is a basic membership');
|
|
expect(json['duration'], 30);
|
|
expect(json['durationType'], 'subscription');
|
|
expect(json['durationUnit'], 'day');
|
|
expect(json['trainingPlanId'], null);
|
|
expect(json['trainingPlanDayIds'], null);
|
|
});
|
|
});
|
|
}
|