Skip to content

Releases: six2six/fixture-factory

Fixture-Factory 3.0.0

29 Jan 01:58
Compare
Choose a tag to compare

Features

  • has and gimme functions now supports multiple templates
Fixture.from(User.class).gimme(2, "male", "female");

Fixture.of(User.class).addTemplate("valid", new Rule() {{
  add("addresses", has(2).of(Address.class, "sp", "mg"));
}});
  • adding asString to instant function #58
    add("birthdayAsString", instant("18 years ago").asString("dd/MM/yyyy"));
  • uniqueRandom function to generate unique values #70
  • CNPJ function #55
    add("cnpj", cnpj());

Bugfixes

  • Fixing range function with BigDecimal type #69
  • Fixing fixtures for inner classes with construtors in Java 8 935214c
  • Fixing overriding nested attribute in gimme call #73
  • And others...

Others

  • Little improvements in documentation
  • Functions' package was refactored, this will break people that are importing those functions

Fixture-Factory 2.2.0

25 Apr 21:17
Compare
Choose a tag to compare

Features

  • Fixtures can now define Processors that will run after object instantiation. We already provide a HibernateProcessor to load generated fixtures into database, making easy to create integration tests
    Fixture.from(User.class).uses(new HibernateProcessor(session)).gimme("valid"); //this will generate new User based on valid template and insert it to database through Hibernate
  • Now we have TemplateLoader interface that should be used to declare or templates.
public class UserTemplateLoader implements TemplateLoader {
  @Override
  public void load() {
    Fixture.of(User.class).addTemplate("valid", new Rule() {{
      add("name", random("Nykolas", "Anderson", "Arthur"));
      ...
    }});
  }
}

And to load declared templates, we have the new class FixtureFactoryLoader that loads all templates in declared package
FixtureFactoryLoader.loadTemplates("br.com.six2six.template");

  • New random function to BigDecimal and BigInteger
    add("ammount", random(BigDecimal.class, new MathContext(2)));
  • Support to override properties definitions on gimme call #41
Client client = Fixture.from(User.class).gimme("valid", new Rule() {{
  add("name", "New name only for this client");
}});

Bugfixes

  • Prioritise default constructor and choose right constructor based on parameter name and type #32
  • Bugfix for attributes on inherited classes #35
  • Reset property on inherited template #38
  • Generate random values for short and byte #41
  • And others...