PAN-52 Finished integration tests for the proofs repository
This commit is contained in:
+88
@@ -0,0 +1,88 @@
|
||||
package edu.msudenver.tsp.persistence;
|
||||
|
||||
import edu.msudenver.tsp.persistence.dto.ProofDto;
|
||||
import edu.msudenver.tsp.persistence.repository.ProofRepository;
|
||||
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.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(classes = PersistenceTestConfig.class)
|
||||
public class ProofsIntegrationTest {
|
||||
@Autowired
|
||||
private ProofRepository proofRepository;
|
||||
|
||||
@Test
|
||||
public void testCRUDFunctionality() {
|
||||
final ProofDto proofDto = createProof();
|
||||
final ProofDto savedProof = proofRepository.save(proofDto);
|
||||
|
||||
assertNotNull(savedProof);
|
||||
assertEquals(Integer.valueOf(0), savedProof.getVersion());
|
||||
|
||||
final int id = savedProof.getId();
|
||||
|
||||
assertEquals("Test proof", savedProof.getTheoremName());
|
||||
assertEquals("Test branch", savedProof.getBranch());
|
||||
assertNotNull(savedProof.getDateCreated());
|
||||
assertNotNull(savedProof.getLastUpdated());
|
||||
assertEquals(savedProof.getLastUpdated().toString().trim(), savedProof.getDateCreated().toString().trim());
|
||||
assertEquals(2, savedProof.getReferencedTheorems().size());
|
||||
assertEquals(2, savedProof.getReferencedDefinitions().size());
|
||||
assertEquals("test theorem 1", savedProof.getReferencedTheorems().get(0));
|
||||
assertEquals("test theorem 2", savedProof.getReferencedTheorems().get(1));
|
||||
assertEquals("test definition 1", savedProof.getReferencedDefinitions().get(0));
|
||||
assertEquals("test definition 2", savedProof.getReferencedDefinitions().get(1));
|
||||
|
||||
savedProof.setBranch("Test Update");
|
||||
|
||||
final ProofDto updatedProof = proofRepository.save(savedProof);
|
||||
|
||||
assertNotNull(updatedProof);
|
||||
assertEquals(Integer.valueOf(0), updatedProof.getVersion());
|
||||
assertEquals("Test proof", updatedProof.getTheoremName());
|
||||
assertEquals("Test Update", updatedProof.getBranch());
|
||||
assertNotNull(updatedProof.getLastUpdated());
|
||||
assertNotNull(updatedProof.getDateCreated());
|
||||
assertNotEquals(updatedProof.getDateCreated().toInstant(), updatedProof.getLastUpdated().toInstant());
|
||||
assertEquals(2, updatedProof.getReferencedTheorems().size());
|
||||
assertEquals(2, updatedProof.getReferencedDefinitions().size());
|
||||
assertEquals("test theorem 1", updatedProof.getReferencedTheorems().get(0));
|
||||
assertEquals("test theorem 2", updatedProof.getReferencedTheorems().get(1));
|
||||
assertEquals("test definition 1", updatedProof.getReferencedDefinitions().get(0));
|
||||
assertEquals("test definition 2", updatedProof.getReferencedDefinitions().get(1));
|
||||
assertEquals(updatedProof.getId(), id);
|
||||
|
||||
proofRepository.delete(proofDto);
|
||||
final Optional<ProofDto> deletedProof = proofRepository.findById(id);
|
||||
assertFalse(deletedProof.isPresent());
|
||||
}
|
||||
|
||||
private ProofDto createProof() {
|
||||
final List<String> referencedTheoremsList = new ArrayList<>();
|
||||
referencedTheoremsList.add("test theorem 1");
|
||||
referencedTheoremsList.add("test theorem 2");
|
||||
|
||||
final List<String> referencedDefinitionsList = new ArrayList<>();
|
||||
referencedDefinitionsList.add("test definition 1");
|
||||
referencedDefinitionsList.add("test definition 2");
|
||||
|
||||
final ProofDto proofDto = new ProofDto();
|
||||
proofDto.setTheoremName("Test proof");
|
||||
proofDto.setBranch("Test branch");
|
||||
proofDto.setDateCreated(new Date());
|
||||
proofDto.setReferencedTheorems(referencedTheoremsList);
|
||||
proofDto.setReferencedDefinitions(referencedDefinitionsList);
|
||||
|
||||
return proofDto;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user