blocFreezedTestTemplate function

String blocFreezedTestTemplate(
  1. String name,
  2. String className
)

Implementation

String blocFreezedTestTemplate(String name, String className) =>
    '''
import 'package:bloc_test/bloc_test.dart';
import 'package:flutter_test/flutter_test.dart';
import '../../../../../lib/features/$name/presentation/controller/${name}_bloc.dart';

void main() {
  group('${className}Bloc', () {
    late ${className}Bloc bloc;

    setUp(() {
      bloc = ${className}Bloc();
    });

    tearDown(() {
      bloc.close();
    });

    test('initial state should be initial', () {
      expect(bloc.state, const ${className}State.initial());
    });

    blocTest<${className}Bloc, ${className}State>(
      'should emit [loading, loaded] when FetchData is added',
      build: () => ${className}Bloc(),
      act: (bloc) => bloc.add(const ${className}Event.fetchData()),
      expect: () => [
        const ${className}State.loading(),
        const ${className}State.loaded('Fetched data'),
      ],
    );

    blocTest<${className}Bloc, ${className}State>(
      'should emit [loading, error] when FetchData fails',
      build: () => ${className}Bloc(),
      act: (bloc) => bloc.add(const ${className}Event.fetchData()),
      errors: () => [isA<Exception>()],
      expect: () => [
        const ${className}State.loading(),
        const ${className}State.error('Error occurred'),
      ],
    );
  });
}
''';