package com.processpuzzle.party.partyrelationshiptype.domain;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
import org.junit.Test;
import com.processpuzzle.litest.template.FactoryTestTemplate;
import com.processpuzzle.persistence.domain.EntityIdentityCollitionException;
import com.processpuzzle.sharedfixtures.domaintier.DomainTierTestConfiguration;
import com.processpuzzle.sharedfixtures.domaintier.PartyRelationshipTypeFixture;
public class PartyRelationshipTypeFactoryTest extends FactoryTestTemplate<PartyRelationshipTypeFactory, PartyRelationshipTypeFactoryTestFixture, PartyRelationshipType> {
public PartyRelationshipTypeFactoryTest() {
super( DomainTierTestConfiguration.FIXTURE_CONTAINER_DEFINITION_PATH );
}
@Override
@Test
public void create_ForSuccess() {
assertNotNull( fixture.getFatherSonRelationship() );
assertThat( fixture.getFatherSonRelationship().getName(), equalTo( PartyRelationshipTypeFixture.FATHER_SON_RELATIONSHIP_TYPE_NAME ) );
}
@Override
@Test( expected = EntityIdentityCollitionException.class )
public void create_ForCollision() {
fixture.savePersonType();
fixture.saveFatherRoleType();
fixture.saveSonRoleType();
fixture.saveFatherSonRelationshipType();
PartyRelationshipTypeFactory.create( PartyRelationshipTypeFixture.FATHER_SON_RELATIONSHIP_TYPE_NAME, fixture.getFatherRoleType(),
fixture.getSonRoleType() );
}
}