entityTestTemplate function
Implementation
String entityTestTemplate(String name, String className, bool useFreezed) =>
'''
import 'package:flutter_test/flutter_test.dart';
import '../../../../../lib/features/$name/domain/entities/${name}_entity.dart';
void main() {
${useFreezed ? '''
const t${className}Entity = ${className}Entity(
id: '123',
name: 'Test Name',
description: 'Test Description',
);
''' : '''
const t${className}Entity = ${className}Entity(id: '123');
'''}
group('${className}Entity', () {
test('should be a valid entity', () {
expect(t${className}Entity.id, '123');
${useFreezed ? '''
expect(t${className}Entity.name, 'Test Name');
expect(t${className}Entity.description, 'Test Description');
''' : ''}
});
${useFreezed ? '''
test('should support equality comparison with freezed', () {
const t${className}Entity2 = ${className}Entity(
id: '123',
name: 'Test Name',
description: 'Test Description',
);
expect(t${className}Entity, t${className}Entity2);
});
test('should support copyWith functionality', () {
final copiedEntity = t${className}Entity.copyWith(name: 'Updated Name');
expect(copiedEntity.id, '123');
expect(copiedEntity.name, 'Updated Name');
expect(copiedEntity.description, 'Test Description');
});
''' : '''
test('should support equality comparison', () {
const t${className}Entity2 = ${className}Entity(id: '123');
expect(t${className}Entity, t${className}Entity2);
});
'''}
});
}
''';