package uk.ac.ox.zoo.seeg.abraid.mp.common.dao;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import uk.ac.ox.zoo.seeg.abraid.mp.common.AbstractCommonSpringIntegrationTests;
import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.Feed;
import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.Provenance;
import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.ProvenanceNames;
import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests the FeedDao class.
*
* Copyright (c) 2014 University of Oxford
*/
public class FeedDaoTest extends AbstractCommonSpringIntegrationTests {
@Autowired
private FeedDao feedDao;
@Autowired
private ProvenanceDao provenanceDao;
@Test
public void saveAndReloadFeed() {
// Arrange
String feedName = "Test feed";
double feedWeighting = 0.3;
String feedLanguage = "vi";
Provenance provenance = provenanceDao.getByName(ProvenanceNames.HEALTHMAP);
Feed feed = new Feed();
feed.setProvenance(provenance);
feed.setWeighting(feedWeighting);
feed.setName(feedName);
feed.setLanguage(feedLanguage);
// Act
feedDao.save(feed);
assertThat(feed.getCreatedDate()).isNotNull();
// Assert
Integer id = feed.getId();
flushAndClear();
feed = feedDao.getById(id);
assertThat(feed).isNotNull();
assertThat(feed.getName()).isEqualTo(feedName);
assertThat(feed.getProvenance()).isEqualTo(provenance);
assertThat(feed.getCreatedDate()).isNotNull();
assertThat(feed.getWeighting()).isEqualTo(feedWeighting);
assertThat(feed.getLanguage()).isEqualTo(feedLanguage);
}
@Test
public void loadNonExistentFeed() {
Feed feed = feedDao.getById(-1);
assertThat(feed).isNull();
}
@Test
public void getFeedsByProvenanceName() {
List<Feed> feeds = feedDao.getByProvenanceName(ProvenanceNames.HEALTHMAP);
assertThat(feeds).hasSize(66);
}
}