Package example.generics.persist.hsqldb

Source Code of example.generics.persist.hsqldb.EpisodeDaoTest

package example.generics.persist.hsqldb;

import com.upgradingdave.fixtures.JsonFixture;
import example.generics.models.Episode;
import example.generics.persist.api.EpisodeDao;
import example.generics.persist.api.PageContext;
import example.generics.persist.api.PageImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.ArrayList;
import java.util.List;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:META-INF/spring/test-context.xml"})
public class EpisodeDaoTest {

    @Autowired
    EpisodeDao episodeDao;

    List<Episode> testModels;

    public EpisodeDao getModelDao(){
        return episodeDao;
    }

    public Class getClazz(){
        return Episode.class;
    }

    public List<Episode> getTestModels() {
        return testModels;
    }

    @Before
    public void setUp() {

        testModels = new ArrayList<Episode>();

        JsonFixture<Episode> jsonFixture = new JsonFixture<Episode>(getClazz());

        jsonFixture.withEachJsonObjectFromFile(new JsonFixture.JsonProcessor<Episode>() {
            @Override
            public void process(Episode user) {
                testModels.add(getModelDao().create(user));
            }
        });

        assertTrue(testModels.size()>0);

    }

    @After
    public void tearDown(){

        for(Episode model : testModels) {
            getModelDao().delete(model);
        }

    }

    @Test
    public void findById(){

        Episode model = testModels.get(0);
        Episode result = getModelDao().findById(model.getId());
        assertEquals(model, result);

    }

    @Test
    public void findAll(){

        PageContext pageContext = new PageImpl(0,1);
        List<Episode> results = getModelDao().findAll(pageContext);
        assertTrue(results.size() == 1);

        pageContext = new PageImpl(1,1);
        results = getModelDao().findAll(pageContext);
        assertTrue(results.size() == 1);

    }

    @Test
    public void update(){

        Episode orig = (Episode) getTestModels().get(0);

        Episode episode = episodeDao.findById(orig.getId());

        episode.setTitle("different");
        episodeDao.update(episode);

        Episode result = episodeDao.findById(orig.getId());

        assertEquals(orig.getId(), result.getId());
        assertEquals("different", result.getTitle());

    }

}
TOP

Related Classes of example.generics.persist.hsqldb.EpisodeDaoTest

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.