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); }); }); }