entityTestTemplate function

String entityTestTemplate(
  1. String name,
  2. String className,
  3. bool useFreezed
)

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