/* * PatientView * * Copyright (c) Worth Solutions Limited 2004-2013 * * This file is part of PatientView. * * PatientView is free software: you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation, either version 3 of the License, * or (at your option) any later version. * PatientView is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with PatientView in a file * titled COPYING. If not, see <http://www.gnu.org/licenses/>. * * @package PatientView * @link http://www.patientview.org * @author PatientView <info@patientview.org> * @copyright Copyright (c) 2004-2013, Worth Solutions Limited * @license http://www.gnu.org/licenses/gpl-3.0.html The GNU General Public License V3.0 */ package org.patientview.test.repository; import org.patientview.patientview.model.Diagnosis; import org.patientview.repository.DiagnosisDao; import org.junit.Test; import javax.inject.Inject; import java.util.List; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; public class DiagnosisDaoTest extends BaseDaoTest { @Inject private DiagnosisDao diagnosisDao; @Test public void testAddGetDiagnosis() throws Exception { Diagnosis diagnosis = getTestObject(); /** * add */ diagnosisDao.save(diagnosis); assertTrue("Invalid id for new diagnosis", diagnosis.getId() > 0); /** * get */ Diagnosis savedDiagnosis = diagnosisDao.get(diagnosis.getId()); assertNotNull(savedDiagnosis); assertEquals("Diagnosis diagnosis not persisted", diagnosis.getDiagnosis(), savedDiagnosis.getDiagnosis()); assertEquals("Diagnosis display order not persisted", diagnosis.getDisplayorder(), savedDiagnosis.getDisplayorder()); assertEquals("Diagnosis unit code not persisted", diagnosis.getUnitcode(), savedDiagnosis.getUnitcode()); assertEquals("Diagnosis nhs no not persisted", diagnosis.getNhsno(), savedDiagnosis.getNhsno()); /** * delete */ diagnosisDao.deleteOtherDiagnoses(savedDiagnosis.getNhsno(), savedDiagnosis.getUnitcode()); List<Diagnosis> savedDiagnoses = diagnosisDao.getOtherDiagnoses(savedDiagnosis.getNhsno(), savedDiagnosis.getUnitcode()); assertTrue("Can't delete diagnoses", savedDiagnoses.size() == 0); } @Test public void testDeleteDiagnosis() throws Exception { Diagnosis diagnosis = getTestObject(); /** * add */ diagnosisDao.save(diagnosis); assertTrue("Invalid id for new diagnosis", diagnosis.getId() > 0); /** * delete */ diagnosisDao.deleteOtherDiagnoses(diagnosis.getNhsno(), diagnosis.getUnitcode()); List<Diagnosis> savedDiagnoses = diagnosisDao.getOtherDiagnoses(diagnosis.getNhsno(), diagnosis.getUnitcode()); assertTrue("Can't delete diagnoses", savedDiagnoses.size() == 0); } @Test public void testGetOtherDiagnosis() throws Exception { Diagnosis diagnosis = getTestObject(); diagnosisDao.save(diagnosis); assertTrue("Invalid id for new diagnosis 1", diagnosis.getId() > 0); Diagnosis diagnosis2 = getSecondTestObject(); diagnosisDao.save(diagnosis2); assertTrue("Invalid id for new diagnosis 2", diagnosis2.getId() > 0); List<Diagnosis> checkDiagnoses = diagnosisDao.getOtherDiagnoses("123456789", "unitcode1"); assertNotNull(checkDiagnoses); assertTrue("No diagnosis found found", !checkDiagnoses.isEmpty() && checkDiagnoses.size() > 0); } private Diagnosis getTestObject() throws Exception { Diagnosis diagnosis = new Diagnosis(); diagnosis.setDiagnosis("Test diagnosis"); diagnosis.setDisplayorder("1"); diagnosis.setUnitcode("unitcode1"); diagnosis.setNhsno("123456789"); return diagnosis; } private Diagnosis getSecondTestObject() throws Exception { Diagnosis diagnosis2 = new Diagnosis(); diagnosis2.setDiagnosis("Test diagnosis 2"); diagnosis2.setDisplayorder("2"); diagnosis2.setUnitcode("unitcode1"); diagnosis2.setNhsno("123456789"); return diagnosis2; } }