import 'package:eatvio_app/features/feed/models/view_model.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { group('ViewModel', () { test('fromJson parses all fields correctly', () { final json = { 'type': 'diet', 'ids': [1, 2, 3], 'slugs': ['diet-1', 'diet-2'], }; final model = ViewModel.fromJson(json); expect(model.type, 'diet'); expect(model.ids, [1, 2, 3]); expect(model.slugs, ['diet-1', 'diet-2']); }); test('fromJson handles null optional fields', () { final json = { 'type': 'plan', }; final model = ViewModel.fromJson(json); expect(model.type, 'plan'); expect(model.ids, isNull); expect(model.slugs, isNull); }); test('toJson serializes all fields correctly', () { final model = ViewModel( type: 'recipe', ids: [1, 2], slugs: ['recipe-1'], ); final json = model.toJson(); expect(json['type'], 'recipe'); expect(json['ids'], [1, 2]); expect(json['slugs'], ['recipe-1']); }); test('toJson omits null fields', () { final model = ViewModel(type: 'diet'); final json = model.toJson(); expect(json['type'], 'diet'); expect(json.containsKey('ids'), isTrue); expect(json.containsKey('slugs'), isTrue); }); }); }