freezed_factories 1.0.0-dev.2 copy "freezed_factories: ^1.0.0-dev.2" to clipboard
freezed_factories: ^1.0.0-dev.2 copied to clipboard

Create test factories for your Freezed classes easily

example/lib/main.dart

import 'package:faker/faker.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:freezed_factories_annotation/freezed_factories_annotation.dart';

part 'main.factory.dart';
part 'main.freezed.dart';

@freezed
class Person with _$Person {
  const factory Person({
    required String firstName,
    required String lastName,
    @Default('female') String? gender,
    int? age,
  }) = _Person;

  static PersonFactory get factory => PersonFactory();
}

@FreezedFactory(Person)
class PersonFactory with _$PersonFactory {
  @override
  Person get _defaults => Person(
        firstName: faker.person.firstName(),
        lastName: faker.person.lastName(),
        age: faker.randomGenerator.integer(99),
      );

  PersonFactory adult() {
    return state((state) => state(
          age: faker.randomGenerator.integer(99, min: 18),
        ));
  }

  PersonFactory male() {
    return state((state) => state(
          gender: 'male',
        ));
  }
}
1
likes
0
points
438
downloads

Publisher

verified publisheridoctus.com

Weekly Downloads

Create test factories for your Freezed classes easily

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

analyzer, build, freezed_factories_annotation, source_gen

More

Packages that depend on freezed_factories