modelTestTemplate function
Implementation
String modelTestTemplate(String name, String className, bool useFreezed) =>
'''
import 'package:flutter_test/flutter_test.dart';
import '../../../../../lib/features/$name/data/models/${name}_model.dart';
void main() {
${useFreezed ? '''
const t${className}Model = ${className}Model(
id: '123',
name: 'Test Name',
description: 'Test Description',
);
''' : '''
const t${className}Model = ${className}Model(id: '123');
'''}
group('${className}Model', () {
test('should be a valid model', () {
expect(t${className}Model.id, '123');
${useFreezed ? '''
expect(t${className}Model.name, 'Test Name');
expect(t${className}Model.description, 'Test Description');
''' : ''}
});
test('should return a valid JSON map', () {
final result = t${className}Model.toJson();
${useFreezed ? '''
expect(result['id'], '123');
expect(result['name'], 'Test Name');
expect(result['description'], 'Test Description');
''' : '''
final expectedMap = {'id': '123'};
expect(result, expectedMap);
'''}
});
test('should return a valid model from JSON', () {
${useFreezed ? '''
final jsonMap = {
'id': '123',
'name': 'Test Name',
'description': 'Test Description',
};
''' : '''
final jsonMap = {'id': '123'};
'''}
final result = ${className}Model.fromJson(jsonMap);
expect(result.id, t${className}Model.id);
${useFreezed ? '''
expect(result.name, t${className}Model.name);
expect(result.description, t${className}Model.description);
''' : '''
expect(result, t${className}Model);
'''}
});
});
}
''';