Package org.cedj.geekseek.domain.user.test.integration

Source Code of org.cedj.geekseek.domain.user.test.integration.UserRepositoryTransactionalTestCase

package org.cedj.geekseek.domain.user.test.integration;

import java.io.File;
import java.util.UUID;

import javax.inject.Inject;

import org.cedj.geekseek.domain.Repository;
import org.cedj.geekseek.domain.persistence.test.integration.PersistenceDeployments;
import org.cedj.geekseek.domain.test.integration.BaseTransactionalSpecification;
import org.cedj.geekseek.domain.user.model.User;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.asset.EmptyAsset;
import org.jboss.shrinkwrap.api.asset.StringAsset;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Assert;
import org.junit.runner.RunWith;

@RunWith(Arquillian.class)
public class UserRepositoryTransactionalTestCase extends
    BaseTransactionalSpecification<User, Repository<User>> {

    private static final String UPDATED_NAME = "TEST UPDATED";

    public UserRepositoryTransactionalTestCase() {
        super(User.class);
    }

    // Given
    @Deployment
    public static WebArchive deploy() {
        return ShrinkWrap.create(WebArchive.class)
            .addAsLibraries(
                UserDeployments.user()
                    .addAsManifestResource(new StringAsset(
                        PersistenceDeployments.descriptor().exportAsString()), "persistence.xml")
                    .addAsManifestResource(new File("src/main/resources/META-INF/beans.xml")))
            .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml")
            .addClass(BaseTransactionalSpecification.class);
    }

    @Inject
    private Repository<User> repository;

    @Override
    protected User createNewDomainObject() {
        return new User(UUID.randomUUID().toString()).setBio("Bio");
    }

    @Override
    protected User updateDomainObject(User domain) {
        return domain.setName(UPDATED_NAME);
    }

    @Override
    protected void validateUpdatedDomainObject(User domain) {
        Assert.assertEquals(UPDATED_NAME, domain.getName());
    }

    @Override
    protected Repository<User> getRepository() {
        return repository;
    }
}
TOP

Related Classes of org.cedj.geekseek.domain.user.test.integration.UserRepositoryTransactionalTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.