public void GetOpenQueries() { //Arrange var dataStorage = new Mock<IDataStorage>(); var clinic = new Clinic {Caption = "Clinic1"}; var doctor1 = new User {FirstName = "DoctorFirst1", LastName = "DoctorLast1", Clinic = clinic}; var doctor2 = new User {FirstName = "DoctorFirst2", LastName = "DoctorLast2", Clinic = clinic}; var patient1 = new Patient {PatientNumber = 11, Doctor = doctor1}; var patient2 = new Patient {PatientNumber = 12, Doctor = doctor2}; var visit1 = new Visit {Caption = "Visit1", Patient = patient1}; var visit2 = new Visit {Caption = "Visit2", Patient = patient2}; var form1 = new Form {FormType = FormType.Happiness, Visit = visit1}; var form2 = new Form {FormType = FormType.Demographics, Visit = visit2}; var question1 = new Question {Form = form1}; var question2 = new Question {Form = form2}; var query1 = new Query {Id = 1, QueryText = "Text1", Question = question1}; var query2 = new Query {Id = 2, QueryText = "Text2", AnswerText = "Answer1", Question = question2}; var repository = new QueryRepository(dataStorage.Object); dataStorage.Setup(ds => ds.GetData<Query>()).Returns(new List<Query> {query1, query2}); //Act var result = repository.GetOpenQueries(); //Assert Assert.That(result, Is.Not.Null); Assert.That(result.Count(), Is.EqualTo(1)); var query = result.ToList()[0]; Assert.That(query.FormType, Is.EqualTo(FormType.Happiness)); Assert.That(query.ClinicName, Is.EqualTo("Clinic1")); Assert.That(query.DoctorName, Is.EqualTo("DoctorLast1")); Assert.That(query.QuestionText, Is.EqualTo("Text1")); Assert.That(query.PatientNumber, Is.EqualTo(11)); Assert.That(query.VisitName, Is.EqualTo("Visit1")); }
public void GetSingleUserByLoginTest() { //Arrange Mock<IDataStorage> dataStorage = new Mock<IDataStorage>(); UserRepository repository = new UserRepository(dataStorage.Object); User user1 = new User() {Login = "******"}; dataStorage.Setup(ds => ds.GetData<User>()).Returns(new List<User> {user1}); //Act var result = repository.GetUserByLogin("login1"); //Assert Assert.That(result, Is.EqualTo(user1)); }
public void CreatePatient_PatientVisitsVerification() { //Arrange var doctor = new User() {Id = 15, Role = ClinicalStudyRoles.Doctor, Patients = new List<Patient>()}; //Act var result = studyDesign.CreatePatient(doctor); //Assert Assert.That(result, Is.Not.Null, "Patient was created"); Assert.That(result.Visits, Is.Not.Null, "Visits were not created"); Assert.That(result.Visits.Count, Is.EqualTo(3)); Assert.That(result.Visits.Any(v => v.VisitType == VisitType.Baseline), "Baseline visit was not scheduled"); Assert.That(result.Visits.Any(v => v.VisitType == VisitType.Day1), "1st Day visist was not scheduled"); Assert.That(result.Visits.Any(v => v.VisitType == VisitType.Day10), "10th Day visist was not scheduled"); }
public void CreatePatient_PatientVerification() { //Arrange var doctor = new User() {Id = 15, Role = ClinicalStudyRoles.Doctor, Patients = new List<Patient>()}; //Act var result = studyDesign.CreatePatient(doctor); //Assert Assert.That(result, Is.Not.Null, "Patient was created"); Assert.That(result.Doctor, Is.Not.Null); Assert.That(result.Doctor.Id, Is.EqualTo(doctor.Id)); Assert.That(doctor.Patients.Exists(p => p.Id == result.Id), "Clinic patients list does not include created patient"); }
public void CreatePatient_Day1VisitVerification() { //Arrange var doctor = new User() {Id = 15, Role = ClinicalStudyRoles.Doctor, Patients = new List<Patient>()}; //Act var result = studyDesign.CreatePatient(doctor); //Assert Assert.That(result, Is.Not.Null, "Patient was created"); Assert.That(result.Visits, Is.Not.Null, "Visits were not created"); var visit = result.Visits.FirstOrDefault(v => v.VisitType == VisitType.Day1); Assert.That(visit, Is.Not.Null, "1st Day visit was not scheduled"); Assert.That(visit.Caption, Is.EqualTo("1st Day")); Assert.That(visit.ExpectedVisitDate, Is.EqualTo(DateTime.Now.Date.AddDays(2))); Assert.That(visit.OrderNo, Is.EqualTo(1)); Assert.That(visit.Patient, Is.Not.Null); Assert.That(visit.VisitDate, Is.Null); Assert.That(visit.VisitTime, Is.Null); Assert.That(visit.Forms, Is.Not.Null); visitRepository.Verify(r => r.Add(visit), Times.Once()); }
public void CreatePatient_BaselineVisit_FormsVerification() { //Arrange var doctor = new User() {Id = 15, Role = ClinicalStudyRoles.Doctor, Patients = new List<Patient>()}; var vitalsFormDatas = new List<VitalsFormData>(); var demogFormDatas = new List<DemographicFormData>(); vitalsFormDataRepository .Setup(r => r.Add(It.IsAny<VitalsFormData>())) .Callback<VitalsFormData>(data => vitalsFormDatas.Add(data)); demogFormDataRepository .Setup(r => r.Add(It.IsAny<DemographicFormData>())) .Callback<DemographicFormData>(data => demogFormDatas.Add(data)); //Act var result = studyDesign.CreatePatient(doctor); //Assert Assert.That(result, Is.Not.Null, "Patient was created"); Assert.That(result.Visits, Is.Not.Null, "Visits were not created"); var visit = result.Visits.FirstOrDefault(v => v.VisitType == VisitType.Baseline); Assert.That(visit, Is.Not.Null, "Baseline visit was not scheduled"); Assert.That(visit.Forms, Is.Not.Null, "Forms were not created"); //demographics CRF var demographicsForm = visit.Forms.FirstOrDefault(f => f.FormType == FormType.Demographics); Assert.That(demographicsForm, Is.Not.Null); Assert.That(demographicsForm.Caption, Is.EqualTo("Demographics")); Assert.That(demographicsForm.FormState, Is.EqualTo(FormState.Incomplete)); Assert.That(demographicsForm.FormType, Is.EqualTo(FormType.Demographics)); Assert.That(demographicsForm.OrderNo, Is.EqualTo(0)); formRepository.Verify(r => r.Add(demographicsForm), Times.Once()); var demogFormData = demogFormDatas.FirstOrDefault(data => data.Form == demographicsForm); Assert.That(demogFormData, Is.Not.Null); Assert.That(demogFormData.DateOfBirth, Is.Not.Null); Assert.That(demogFormData.Race, Is.Not.Null); Assert.That(demogFormData.Sex, Is.Not.Null); Assert.That(demogFormData.Other, Is.Not.Null); //vitals CRF var vitalsForm = visit.Forms.FirstOrDefault(f => f.FormType == FormType.Vitals); Assert.That(vitalsForm, Is.Not.Null); Assert.That(vitalsForm.Caption, Is.EqualTo("Vitals")); Assert.That(vitalsForm.FormState, Is.EqualTo(FormState.Incomplete)); Assert.That(vitalsForm.FormType, Is.EqualTo(FormType.Vitals)); Assert.That(vitalsForm.OrderNo, Is.EqualTo(1)); formRepository.Verify(r => r.Add(vitalsForm), Times.Once()); var vitalsFormData = vitalsFormDatas.FirstOrDefault(data => data.Form == vitalsForm); Assert.That(vitalsFormData, Is.Not.Null); Assert.That(vitalsFormData.ActualTime, Is.Not.Null); Assert.That(vitalsFormData.BloodPressureDiastolic, Is.Not.Null); Assert.That(vitalsFormData.BloodPressureSystolic, Is.Not.Null); Assert.That(vitalsFormData.HeartRate, Is.Not.Null); Assert.That(vitalsFormData.Height, Is.Not.Null); Assert.That(vitalsFormData.Weight, Is.Not.Null); Assert.That(vitalsFormData.Temperature, Is.Not.Null); }
public void CreatePatient_1stDayVisit_FormsVerification() { //Arrange var doctor = new User() {Id = 15, Role = ClinicalStudyRoles.Doctor, Patients = new List<Patient>()}; var vitalsFormDatas = new List<VitalsFormData>(); var happinessFormDatas = new List<HappinessFormData>(); var electrocardiogramFormDatas = new List<ElectrocardiogramFormData>(); vitalsFormDataRepository .Setup(r => r.Add(It.IsAny<VitalsFormData>())) .Callback<VitalsFormData>(data => vitalsFormDatas.Add(data)); happinessFormDataRepository .Setup(r => r.Add(It.IsAny<HappinessFormData>())) .Callback<HappinessFormData>(data => happinessFormDatas.Add(data)); electroFormDataRepository .Setup(r => r.Add(It.IsAny<ElectrocardiogramFormData>())) .Callback<ElectrocardiogramFormData>(data => electrocardiogramFormDatas.Add(data)); //Act var result = studyDesign.CreatePatient(doctor); //Assert Assert.That(result, Is.Not.Null, "Patient was created"); Assert.That(result.Visits, Is.Not.Null, "Visits were not created"); var visit = result.Visits.FirstOrDefault(v => v.VisitType == VisitType.Day1); Assert.That(visit, Is.Not.Null, "Baseline visit was not scheduled"); Assert.That(visit.Forms, Is.Not.Null, "Forms were not created"); //happiness CRF var happinessForm = visit.Forms.FirstOrDefault(f => f.FormType == FormType.Happiness); Assert.That(happinessForm, Is.Not.Null); Assert.That(happinessForm.Caption, Is.EqualTo("Happiness")); Assert.That(happinessForm.FormState, Is.EqualTo(FormState.Incomplete)); Assert.That(happinessForm.FormType, Is.EqualTo(FormType.Happiness)); Assert.That(happinessForm.OrderNo, Is.EqualTo(0)); formRepository.Verify(r => r.Add(happinessForm), Times.Once()); var happinessFormData = happinessFormDatas.FirstOrDefault(data => data.Form == happinessForm); Assert.That(happinessFormData, Is.Not.Null); Assert.That(happinessFormData.HappinessLevel, Is.Not.Null); //electrocardiogram CRF var electroForm = visit.Forms.FirstOrDefault(f => f.FormType == FormType.Electrocardiogram); Assert.That(electroForm, Is.Not.Null); Assert.That(electroForm.Caption, Is.EqualTo("Electrocardiogram")); Assert.That(electroForm.FormState, Is.EqualTo(FormState.Incomplete)); Assert.That(electroForm.FormType, Is.EqualTo(FormType.Electrocardiogram)); Assert.That(electroForm.OrderNo, Is.EqualTo(1)); formRepository.Verify(r => r.Add(electroForm), Times.Once()); var electrocardiogramFormData = electrocardiogramFormDatas.FirstOrDefault(data => data.Form == electroForm); Assert.That(electrocardiogramFormData, Is.Not.Null); Assert.That(electrocardiogramFormData.ElectrocardiogramActualTime, Is.Not.Null); Assert.That(electrocardiogramFormData.ElectrocardiogramAttachment, Is.Not.Null); //vitals CRF var vitalsForm = visit.Forms.FirstOrDefault(f => f.FormType == FormType.Vitals); Assert.That(vitalsForm, Is.Not.Null); Assert.That(vitalsForm.Caption, Is.EqualTo("Vitals")); Assert.That(vitalsForm.FormState, Is.EqualTo(FormState.Incomplete)); Assert.That(vitalsForm.FormType, Is.EqualTo(FormType.Vitals)); Assert.That(vitalsForm.OrderNo, Is.EqualTo(2)); formRepository.Verify(r => r.Add(vitalsForm), Times.Once()); var vitalsFormData = vitalsFormDatas.FirstOrDefault(data => data.Form == vitalsForm); Assert.That(vitalsFormData, Is.Not.Null); Assert.That(vitalsFormData.ActualTime, Is.Not.Null); Assert.That(vitalsFormData.BloodPressureDiastolic, Is.Not.Null); Assert.That(vitalsFormData.BloodPressureSystolic, Is.Not.Null); Assert.That(vitalsFormData.HeartRate, Is.Not.Null); Assert.That(vitalsFormData.Height, Is.Not.Null); Assert.That(vitalsFormData.Weight, Is.Not.Null); Assert.That(vitalsFormData.Temperature, Is.Not.Null); }
public void CreatePatientForDoctor() { //Arrange const string doctorName = "doctorName"; var doctor = new User() {Id = 15, Role = ClinicalStudyRoles.Doctor, Patients = new List<Patient>()}; userRepository.Setup(r => r.GetUserByLogin(doctorName)).Returns(doctor); //Act var result = studyDesign.CreatePatientForDoctor(doctorName); //Assert userRepository.Verify(r => r.GetUserByLogin(doctorName), Times.Once()); }
public void CorrectModelMapping() { //Arrange var dataStorage = new Mock<IDataStorage>(); var repository = new QueryRepository(dataStorage.Object); var clinic = new Clinic {Caption = "Clinic"}; var doctor = new User {FirstName = "DoctorFirst", LastName = "DoctorLast", Clinic = clinic}; var patient = new Patient {Doctor = doctor}; var visit = new Visit {Caption = "Visit", Patient = patient}; var form1 = new Form {FormType = FormType.Happiness, Visit = visit}; var question1 = new Question {Caption = "QuestionCaption1", Form = form1}; var query1 = new Query {Id = 1, Question = question1}; var form2 = new Form {FormType = FormType.Inventory, Visit = visit}; var question2 = new Question {Caption = "QuestionCaption2", Form = form2}; var query2 = new Query {Id = 2, Question = question2, AnswerText = "Answer"}; dataStorage.Setup(ds => ds.GetData<Query>()).Returns(new List<Query> {query1, query2}); //Act var result = repository.GetQueriesReportData(); //Assert Assert.That(result, Is.Not.Null); Assert.That(result.Count(), Is.EqualTo(2)); var dto = result.ToList()[0]; Assert.That(dto.FormType, Is.EqualTo(FormType.Happiness)); Assert.That(dto.ClinicName, Is.EqualTo("Clinic")); Assert.That(dto.DoctorName, Is.EqualTo("DoctorFirst DoctorLast")); Assert.That(dto.QuestionName, Is.EqualTo("QuestionCaption1")); Assert.That(dto.IsOpen, Is.True); dto = result.ToList()[1]; Assert.That(dto.FormType, Is.EqualTo(FormType.Inventory)); Assert.That(dto.ClinicName, Is.EqualTo("Clinic")); Assert.That(dto.DoctorName, Is.EqualTo("DoctorFirst DoctorLast")); Assert.That(dto.QuestionName, Is.EqualTo("QuestionCaption2")); Assert.That(dto.IsOpen, Is.False); }
private void PrepareQueriesReportData() { supervisor1000 = new User {Id = 1000, FirstName = "First1000", LastName = "Last1000"}; supervisor2000 = new User {Id = 2000, FirstName = "First2000", LastName = "Last2000"}; doctor1 = new User {Id = 1, FirstName = "First1", LastName = "Last1"}; doctor2 = new User {Id = 2, FirstName = "First2", LastName = "Last2"}; doctor3 = new User {Id = 3, FirstName = "First3", LastName = "Last3"}; form11 = new Form {Id = 11, Caption = "CRF11"}; form12 = new Form {Id = 12, Caption = "CRF12"}; form13 = new Form {Id = 13, Caption = "CRF13"}; form21 = new Form {Id = 21, Caption = "CRF21"}; form22 = new Form {Id = 22, Caption = "CRF22"}; form31 = new Form {Id = 31, Caption = "CRF31"}; form32 = new Form {Id = 32, Caption = "CRF32"}; form33 = new Form {Id = 33, Caption = "CRF33"}; form34 = new Form {Id = 34, Caption = "CRF34"}; form35 = new Form {Id = 35, Caption = "CRF35"}; question111 = new Question {Id = 111, Caption = "Question111", Form = form11}; question121 = new Question {Id = 121, Caption = "Question121", Form = form12}; question122 = new Question {Id = 122, Caption = "Question122", Form = form12}; question211 = new Question {Id = 211, Caption = "Question211", Form = form21}; question212 = new Question {Id = 212, Caption = "Question212", Form = form21}; question213 = new Question {Id = 213, Caption = "Question213", Form = form21}; question311 = new Question {Id = 311, Caption = "Question311", Form = form31}; question321 = new Question {Id = 321, Caption = "Question321", Form = form32}; question331 = new Question {Id = 331, Caption = "Question331", Form = form33}; question341 = new Question {Id = 341, Caption = "Question341", Form = form34}; question351 = new Question {Id = 351, Caption = "Question351", Form = form35}; query1110 = new Query { Id = 1110, Question = question111, QueryAuthor = supervisor1000, QueryTime = DateTime.Today.AddDays(-1110), QueryText = "Query1110", AnswerAuthor = doctor1, AnswerText = "Reply1110", AnswerTime = DateTime.Today.AddDays(1110)}; query1210 = new Query { Id = 1210, Question = question121, QueryAuthor = supervisor2000, QueryTime = DateTime.Today.AddDays(-1210), QueryText = "Query1210", AnswerAuthor = doctor1, AnswerText = "Reply1210", AnswerTime = DateTime.Today.AddDays(1210) }; query1220 = new Query { Id = 1220, Question = question122, QueryAuthor = supervisor1000, QueryTime = DateTime.Today.AddDays(-1220), QueryText = "Query1220", AnswerAuthor = doctor1, AnswerText = "Reply1220", AnswerTime = DateTime.Today.AddDays(1220) }; query2110 = new Query { Id = 2110, Question = question211, QueryAuthor = supervisor2000, QueryTime = DateTime.Today.AddDays(-2110), QueryText = "Query2110", AnswerAuthor = doctor2, AnswerText = "Reply2110", AnswerTime = DateTime.Today.AddDays(2110) }; query2120 = new Query { Id = 2120, Question = question212, QueryAuthor = supervisor1000, QueryTime = DateTime.Today.AddDays(-2120), QueryText = "Query2120", AnswerAuthor = doctor2, AnswerText = "Reply2120", AnswerTime = DateTime.Today.AddDays(2120) }; query2130 = new Query { Id = 2130, Question = question213, QueryAuthor = supervisor2000, QueryTime = DateTime.Today.AddDays(-2130), QueryText = "Query2130", AnswerAuthor = doctor2, AnswerText = "Reply2130", AnswerTime = DateTime.Today.AddDays(2130) }; query3110 = new Query { Id = 3110, Question = question311, QueryAuthor = supervisor1000, QueryTime = DateTime.Today.AddDays(-3110), QueryText = "Query3110"}; query3210 = new Query { Id = 3210, Question = question321, QueryAuthor = supervisor2000, QueryTime = DateTime.Today.AddDays(-3210), QueryText = "Query3210"}; query3310 = new Query { Id = 3310, Question = question331, QueryAuthor = supervisor1000, QueryTime = DateTime.Today.AddDays(-3310), QueryText = "Query3310"}; query3410 = new Query { Id = 3410, Question = question341, QueryAuthor = supervisor2000, QueryTime = DateTime.Today.AddDays(-3410), QueryText = "Query3410"}; query3510 = new Query { Id = 3510, Question = question351, QueryAuthor = supervisor1000, QueryTime = DateTime.Today.AddDays(-3510), QueryText = "Query3510"}; }
private void CreateUserLoginName(User user, List<User> users) { var baseLogin = user.FirstName.Substring(0, 1).ToLower() + user.LastName.ToLower(); var login = baseLogin; int iterator = 1; while (users.Any(u => string.Equals(login, u.Login, StringComparison.InvariantCultureIgnoreCase))) { login = baseLogin + iterator.ToString(); iterator++; } user.Login = login; }
private User CreateUserRecord(Clinic clinic, List<User>users, string role) { bool isMale = PeopleDataProvider.IsMale(); var user = new User() { Id = entityIdIncrement++, FirstName = PeopleDataProvider.GetRandomFirstName(isMale), LastName = PeopleDataProvider.GetRandomLastName(isMale), Photo = GetBytesFromImage(GetNextPhotoUrl(isMale)), CanVisitWebSite = false, Clinic = clinic, Patients = new List<Patient>(), Role = role }; CreateUserLoginName(user, users); users.Add(user); clinic.Doctors.Add(user); return user; }
private Patient CreatePatient(int clinicId, int doctorId, int patId) { var clinic = new Clinic {Id = clinicId, Caption = String.Format("Clinic{0}", clinicId)}; var doctor = new User { Id = doctorId, Clinic = clinic, Role = ClinicalStudyRoles.Doctor, FirstName = String.Format("First{0}", doctorId), LastName = String.Format("Last{0}", doctorId) }; var pat = new Patient {Id = patId, PatientNumber = 10 + patId, Doctor = doctor}; var demog = new Form { FormType = FormType.Demographics, Id = 201 + patId}; var hap1 = new Form {FormType = FormType.Happiness, Id = 202 + patId}; var hap2 = new Form { FormType = FormType.Happiness, Id = 203 + patId }; var visitB = new Visit {Id = 101 + patId, Caption = String.Format("Visit{0}", 101 + patId), VisitType = VisitType.Baseline, Forms = new List<Form>{demog}}; var visit1 = new Visit { Id = 102 + patId, Caption = String.Format("Visit{0}", 102 + patId), VisitType = VisitType.Day1, Forms = new List<Form>{hap1}}; var visit10 = new Visit { Id = 103 + patId, Caption = String.Format("Visit{0}", 103 + patId), VisitType = VisitType.Day10, Forms = new List<Form> { hap2 } }; pat.Visits = new List<Visit>{visitB, visit1, visit10}; return pat; }
public Patient CreatePatient(User doctor) { var patient = new Patient(); PatientRepository.Add(patient); //verify that patient number is unique //if it is not, then assign unique number var maxNumber = PatientRepository.GetMaxPatientNumber(); patient.PatientNumber = maxNumber + 1; patient.Caption = string.Format("Subj {0}{1:D3}", "A", patient.PatientNumber); patient.Doctor = doctor; doctor.Patients.Add(patient); patient.Visits = new List<Visit>(); patient.Visits.Add(CreateBaselineVisit(patient)); patient.Visits.Add(Create1stDayVisit(patient)); patient.Visits.Add(Create10thDayVisit(patient)); foreach (var visit in patient.Visits) { VisitRepository.Add(visit); foreach (var form in visit.Forms) { FormRepository.Add(form); } } return patient; }
public void Doctors_DetailGrid() { //Arrange var cRepository = new Mock<IClinicRepository>(); var controller = new AdministrationController(cRepository.Object); var clinicId = 111; var doctor1 = new User { Id = 10, FirstName = "First10", LastName = "Last10", Role = "Doctor", Patients = new List<Patient> {new Patient()}, Login = "******", Photo = new byte[]{1,2,3} }; var doctor2 = new User { Id = 20, FirstName = "First20", LastName = "Last20", Role = "Supervisor", Patients = new List<Patient> {new Patient(), new Patient()}, Login = "******", Photo = new byte[]{3,4,5} }; var clinic = new Clinic {Id = clinicId, Caption = "Clinic111", Doctors = new List<User> {doctor1, doctor2}}; cRepository.Setup(r => r.GetByKey(clinicId)).Returns(clinic); //Act var result = controller.ClinicDoctors(clinicId); //Assert Assert.That(result, Is.Not.Null); Assert.That(result is PartialViewResult); var viewResultBase = result as ViewResultBase; Assert.That(viewResultBase.Model, Is.Not.Null); Assert.That(viewResultBase.ViewName, Is.EqualTo("_ClinicDoctorsGrid")); Assert.That(viewResultBase.Model is ClinicDetailsViewModel); var model = viewResultBase.Model as ClinicDetailsViewModel; Assert.That(model.Doctors, Is.Not.Null); Assert.That(model.Doctors.Count, Is.EqualTo(2)); Assert.That(model.ClinicId, Is.EqualTo(111)); Assert.That(model.Doctors[0].ClinicId, Is.EqualTo(111)); Assert.That(model.Doctors[0].DoctorId, Is.EqualTo(10)); Assert.That(model.Doctors[0].FirstName, Is.EqualTo("First10")); Assert.That(model.Doctors[0].LastName, Is.EqualTo("Last10")); Assert.That(model.Doctors[0].Role, Is.EqualTo("Doctor")); Assert.That(model.Doctors[0].PatientsCount, Is.EqualTo(1)); Assert.That(model.Doctors[0].Login, Is.EqualTo("login10")); Assert.That(model.Doctors[0].Photo, Is.EqualTo(new byte[] { 1, 2, 3 })); Assert.That(model.Doctors[1].ClinicId, Is.EqualTo(111)); Assert.That(model.Doctors[1].DoctorId, Is.EqualTo(20)); Assert.That(model.Doctors[1].FirstName, Is.EqualTo("First20")); Assert.That(model.Doctors[1].LastName, Is.EqualTo("Last20")); Assert.That(model.Doctors[1].Role, Is.EqualTo("Supervisor")); Assert.That(model.Doctors[1].PatientsCount, Is.EqualTo(2)); Assert.That(model.Doctors[1].Login, Is.EqualTo("login20")); Assert.That(model.Doctors[1].Photo, Is.EqualTo(new byte[] { 3, 4, 5 })); cRepository.Verify(r => r.GetByKey(clinicId), Times.Once()); }
public List<Query> BuildQueries(User doctor, User supervisor) { var list = new List<Query>(); int firstPatientNumber = doctor.Patients.First().PatientNumber; var query = new Query { Id = queryId++, QueryText = "Please use Country Name, not Code", QueryAuthor = supervisor, QueryTime = DateTime.Now.AddDays(-1), AnswerAuthor = doctor, AnswerText = "Corrected from “CAR” to “Central African Republic”", AnswerTime = DateTime.Now.AddDays(-0.75) }; AssociateQueryWithQuestion(query, firstPatientNumber, VisitType.Baseline, FormType.Demographics, (formId) => DemographicFormDatas.Find(d => d.Form.Id == formId).Other); list.Add(query); query = new Query { Id = queryId++, QueryText = "Please specify the reason for high temperature", QueryAuthor = supervisor, QueryTime = DateTime.Now.AddDays(-1), AnswerAuthor = doctor, AnswerText = "Patient had flu-like symptoms occurr a day before the visit", AnswerTime = DateTime.Now.AddDays(-0.75) }; AssociateQueryWithQuestion(query, firstPatientNumber, VisitType.Day1, FormType.Vitals, (formId) => VitalsFormDatas.Find(d => d.Form.Id == formId).Temperature); list.Add(query); query = new Query { Id = queryId++, QueryText = "Cardiogram image is not full", QueryAuthor = supervisor, QueryTime = DateTime.Now.AddDays(-1), AnswerAuthor = null, AnswerText = null, AnswerTime = null }; AssociateQueryWithQuestion(query, firstPatientNumber, VisitType.Day1, FormType.Electrocardiogram, (formId) => ElectrocardiogramFormDatas.Find(d => d.Form.Id == formId).ElectrocardiogramAttachment); list.Add(query); query = new Query { Id = queryId++, QueryText = "Was the measurement performed in regular conditions?", QueryAuthor = supervisor, QueryTime = DateTime.Now.AddDays(-1), AnswerAuthor = null, AnswerText = null, AnswerTime = null }; AssociateQueryWithQuestion(query, firstPatientNumber, VisitType.Day10, FormType.Vitals, (formId) => VitalsFormDatas.Find(d => d.Form.Id == formId).HeartRate); list.Add(query); AddTemparatureQueries(list); AddHappinessChangeQueries(list); AddDemographicQueries(list); AddInventoryQueries(list); return list; }
public void CorrectModelMapping() { //Arrange var dataStorage = new Mock<IDataStorage>(); var repository = new VisitRepository(dataStorage.Object); var clinic = new Clinic { Caption = "Clinic" }; var doctor1 = new User { FirstName = "DoctorFirst1", LastName = "DoctorLast1", Clinic = clinic }; var patient1 = new Patient { Doctor = doctor1 }; var visit1B = new Visit { Caption = "Visit1B", Patient = patient1, VisitType = VisitType.Baseline, Forms = new List<Form>{new Form { Id = 1, FormType = FormType.Demographics}}}; var visit1Ae1 = new Visit { Caption = "Visit1Ae1", Patient = patient1, VisitType = VisitType.AdverseEventVisit, Forms = new List<Form> { new Form { Id = 2, FormType = FormType.AdverseEvent } } }; var visit1Ae2 = new Visit { Caption = "Visit1Ae2", Patient = patient1, VisitType = VisitType.AdverseEventVisit, Forms = new List<Form> { new Form { Id = 3, FormType = FormType.AdverseEvent } } }; patient1.Visits = new List<Visit> {visit1B, visit1Ae1, visit1Ae2}; var doctor2 = new User { FirstName = "DoctorFirst2", LastName = "DoctorLast2", Clinic = clinic }; var patient2 = new Patient { Doctor = doctor2 }; var visit2B = new Visit { Caption = "Visit2B", Patient = patient2, VisitType = VisitType.Baseline, Forms = new List<Form> { new Form { Id = 13, FormType = FormType.Demographics } } }; var visit2Ae1 = new Visit { Caption = "Visit2Ae1", Patient = patient2, VisitType = VisitType.AdverseEventVisit, Forms = new List<Form> { new Form { Id = 23, FormType = FormType.AdverseEvent } } }; patient2.Visits = new List<Visit> { visit2B, visit2Ae1 }; dataStorage.Setup(ds => ds.GetData<Visit>()).Returns(new List<Visit> { visit1Ae1, visit1Ae2, visit1B, visit2B, visit2Ae1 }); //Act var result = repository.GetAeAnalyticsData(); //Assert Assert.That(result, Is.Not.Null); Assert.That(result.Count, Is.EqualTo(3)); var dto = result[0]; Assert.That(dto.ClinicName, Is.EqualTo("Clinic")); Assert.That(dto.DoctorName, Is.EqualTo("DoctorFirst1 DoctorLast1")); Assert.That(dto.DemographicFormId, Is.EqualTo(1)); Assert.That(dto.AeFormId, Is.EqualTo(2)); dto = result[1]; Assert.That(dto.ClinicName, Is.EqualTo("Clinic")); Assert.That(dto.DoctorName, Is.EqualTo("DoctorFirst1 DoctorLast1")); Assert.That(dto.DemographicFormId, Is.EqualTo(1)); Assert.That(dto.AeFormId, Is.EqualTo(3)); dto = result[2]; Assert.That(dto.ClinicName, Is.EqualTo("Clinic")); Assert.That(dto.DoctorName, Is.EqualTo("DoctorFirst2 DoctorLast2")); Assert.That(dto.DemographicFormId, Is.EqualTo(13)); Assert.That(dto.AeFormId, Is.EqualTo(23)); }