Commit e273b10e authored by Milan Mozolák's avatar Milan Mozolák
Browse files

Basic report tests

parent 588bcf72
Pipeline #123063 waiting for manual action with stage
package cz.fi.muni.pa165.seminar4.group7.secretservice.dao;
import cz.fi.muni.pa165.seminar4.group7.secretservice.entity.Report;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.transaction.Transactional;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
/**
* @author Milan Mozolak
*/
@SpringBootTest
@Transactional
class ReportDaoTests {
@Autowired
private ReportDao reportDao;
@BeforeEach
private void reset() {
reportDao.deleteAll();
}
private Report createNewReport() {
return new Report().setReport("Test");
}
@Test
void create() {
assertThat(reportDao.findAll()).isEmpty();
var report = createNewReport();
reportDao.save(report);
assertThat(reportDao.findAll()).hasSize(1);
}
@Test
void findByIdExisting() {
var report = createNewReport();
reportDao.save(report);
var find = reportDao.findById(report.getId());
assertThat(find).isPresent();
}
@Test
void findByIdNonExisting() {
assertThat(reportDao.findAll()).isEmpty();
var find = reportDao.findById(1L);
assertThat(find).isEmpty();
}
@Test
void findAll() {
for (int i = 1; i < 10; i++) {
reportDao.save(createNewReport());
assertThat(reportDao.findAll()).hasSize(i);
}
}
@Test
void update() {
var r1 = createNewReport();
reportDao.save(r1);
var r2 = reportDao.findById(r1.getId());
assertThat(r2).isNotEmpty();
assertEquals(r1.getReport(), r2.get().getReport());
r1.setReport("Report 2");
reportDao.save(r1);
var r3 = reportDao.findById(r1.getId());
assertThat(r3).isNotEmpty();
assertEquals(r1.getReport(), r3.get().getReport());
assertEquals(r1.getReport(), r2.get().getReport());
}
@Test
void delete() {
var report = createNewReport();
reportDao.save(report);
assertThat(reportDao.findAll()).hasSize(1);
reportDao.delete(report);
assertThat(reportDao.findAll()).isEmpty();
}
@Test
void createDuplicate() {
var report = createNewReport();
reportDao.save(report);
assertThat(reportDao.findAll()).hasSize(1);
var report2 = reportDao.findById(report.getId());
assertThat(report2).isPresent();
reportDao.save(report2.get());
assertEquals(report.getId(), report2.get().getId());
assertThat(reportDao.findAll()).hasSize(1);
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment