freezed_factories 3.1.0 copy "freezed_factories: ^3.1.0" to clipboard
freezed_factories: ^3.1.0 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
abstract 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
150
points
233
downloads

Publisher

verified publisheridoctus.com

Weekly Downloads

Create test factories for your Freezed classes easily

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

analyzer, build, freezed, freezed_factories_annotation, source_gen

More

Packages that depend on freezed_factories