Example #1
0
            private BaseFormData CreateTestCrf(FormType formType, int formId, int question1, int question2)
            {
                BaseFormData formData;

                if (formType == FormType.Demographics)
                {
                    formData = new DemographicFormData {
                        Id   = formId,
                        Race = new Question {
                            Value = question1.ToString()
                        },
                        Sex = new Question {
                            Value = question2.ToString()
                        }
                    };
                }
                else
                {
                    formData = new AdverseEventFormData {
                        Id        = formId,
                        Intensity = new Question {
                            Value = question1.ToString()
                        },
                        RelationshipToInvestigationalDrug = new Question {
                            Value = question2.ToString()
                        }
                    };
                }

                return(formData);
            }
Example #2
0
        private DemographicFormData AddDemographicFormData(Form form)
        {
            var formData = new DemographicFormData()
            {
                Form        = form,
                DateOfBirth = new Question {
                    Caption = "Date Of Birth", DataType = QuestionDataType.Date, Form = form
                },
                Other = new Question {
                    Caption = "Other", DataType = QuestionDataType.String, Form = form
                },
                Race = new Question {
                    Caption = "Race", DataType = QuestionDataType.Enum, Form = form
                },
                Sex = new Question {
                    Caption = "Sex", DataType = QuestionDataType.Enum, Form = form
                }
            };

            DemographicFormDataRepository.Add(formData);
            QuestionRepository.Add(formData.DateOfBirth);
            QuestionRepository.Add(formData.Other);
            QuestionRepository.Add(formData.Race);
            QuestionRepository.Add(formData.Sex);
            return(formData);
        }
Example #3
0
        public void MappingTest()
        {
            //Arrange
            var dataStorage = new Mock <IDataStorage>();
            var entity      = new DemographicFormData()
            {
                Id          = 1,
                DateOfBirth = new Question {
                    Id = 2, Value = "2"
                },
                Other = new Question {
                    Id = 3, Value = "3"
                },
                Race = new Question {
                    Id = 4, Value = "4"
                },
                Sex = new Question {
                    Id = 5, Value = "5"
                }
            };
            var updatedEntity = new DemographicFormData()
            {
                Id          = 1,
                DateOfBirth = new Question {
                    Id = 2, Value = "2"
                },
                Other = new Question {
                    Id = 3, Value = "3"
                },
                Race = new Question {
                    Id = 4, Value = "4"
                },
                Sex = new Question {
                    Id = 5, Value = "5"
                }
            };
            var repository = new DemographicFormDataRepository(dataStorage.Object);

            dataStorage.Setup(ds => ds.GetData <DemographicFormData>()).Returns(new List <DemographicFormData> {
                entity
            });
            //Act
            repository.Edit(updatedEntity);
            //Assert
            //Values are equal
            Assert.That(entity.DateOfBirth.Value, Is.EqualTo(updatedEntity.DateOfBirth.Value));
            Assert.That(entity.Other.Value, Is.EqualTo(updatedEntity.Other.Value));
            Assert.That(entity.Race.Value, Is.EqualTo(updatedEntity.Race.Value));
            Assert.That(entity.Sex.Value, Is.EqualTo(updatedEntity.Sex.Value));

            //Objects are not equal
            Assert.That(entity.DateOfBirth, Is.Not.EqualTo(updatedEntity.DateOfBirth));
            Assert.That(entity.Other, Is.Not.EqualTo(updatedEntity.Other));
            Assert.That(entity.Race, Is.Not.EqualTo(updatedEntity.Race));
            Assert.That(entity.Sex, Is.Not.EqualTo(updatedEntity.Sex));
        }
Example #4
0
            private void ArrangeHappinessTestData(List <HappinessChangeDto> dtos, Dictionary <int, int> races,
                                                  Dictionary <int, int> genders, Dictionary <int, decimal> happinessChanges,
                                                  out AnalyticsController controller, out Mock <IPatientRepository> pRepository,
                                                  out Mock <IDemographicFormDataRepository> dfdRepository,
                                                  out Mock <IHappinessFormDataRepository> hfdRepository)
            {
                pRepository   = new Mock <IPatientRepository>();
                dfdRepository = new Mock <IDemographicFormDataRepository>();
                hfdRepository = new Mock <IHappinessFormDataRepository>();
                controller    = new AnalyticsController(pRepository.Object, null, dfdRepository.Object, hfdRepository.Object, null,
                                                        null);

                pRepository.Setup(r => r.GetHappinessChangeData()).Returns(dtos);

                foreach (var dto in dtos)
                {
                    var demog = new DemographicFormData {
                        Race = new Question {
                            Value = races[dto.PatientId].ToString()
                        },
                        Sex = new Question {
                            Value = genders[dto.PatientId].ToString()
                        }
                    };
                    dfdRepository.Setup(r => r.GetFormDataByFormId(dto.DemographicFormId)).Returns(demog);

                    var hap1 = new HappinessFormData {
                        HappinessLevel = new Question {
                            Value = "25"
                        }
                    };
                    var hap10 = new HappinessFormData {
                        HappinessLevel = new Question {
                            Value = (25 + (100 * happinessChanges[dto.PatientId])).ToString()
                        }
                    };
                    hfdRepository.Setup(r => r.GetFormDataByFormId(dto.HappinessDay1FormId)).Returns(hap1);
                    hfdRepository.Setup(r => r.GetFormDataByFormId(dto.HappinessDay10FormId)).Returns(hap10);
                }
            }
        public void DemographicFormDataToViewModel_FullData()
        {
            //Arrange
            var dFormData = new DemographicFormData {
                Id   = 1,
                Form =
                    new Form {
                    Id        = 11,
                    Caption   = "Form11",
                    FormState = FormState.Completed,
                    Visit     =
                        new Visit {
                        Caption = "Visit11", Patient = new Patient {
                            PatientNumber = 110
                        }
                    }
                },
                DateOfBirth =
                    new Question {
                    Id       = 3,
                    DataType = QuestionDataType.Date,
                    Value    =
                        new DateTime(1980, 1, 1).
                        ToString(CultureInfo.InvariantCulture)
                },
                Other =
                    new Question {
                    Id       = 4,
                    DataType = QuestionDataType.String,
                    Value    = "Some description"
                },
                Race =
                    new Question {
                    Id = 5, DataType = QuestionDataType.Enum, Value = "1"
                },
                Sex =
                    new Question {
                    Id = 6, DataType = QuestionDataType.Enum, Value = "2"
                }
            };

            //Act
            var demog = formController.MapDemographicFormDataToViewModel(dFormData);

            //Assert
            Assert.That(demog.FormId, Is.EqualTo(11));
            Assert.That(demog.FormCaption, Is.EqualTo("Form11"));
            Assert.That(demog.IsCompleted, Is.True);
            Assert.That(demog.VisitName, Is.EqualTo("Visit11"));
            Assert.That(demog.PatientNumber, Is.EqualTo(110));
            Assert.That(demog.Id, Is.EqualTo(1));
            Assert.That(demog.DateOfBirth, Is.Not.Null);
            Assert.That(demog.DateOfBirth.Value.Date, Is.EqualTo(new DateTime(1980, 1, 1).Date));
            Assert.That(demog.Other, Is.EqualTo("Some description"));
            Assert.That(demog.Race, Is.EqualTo(1));
            Assert.That(demog.Sex, Is.EqualTo(2));

            Assert.That(demog.DateOfBirthQuestionId, Is.EqualTo(dFormData.DateOfBirth.Id));
            Assert.That(demog.OtherQuestionId, Is.EqualTo(dFormData.Other.Id));
            Assert.That(demog.SexQuestionId, Is.EqualTo(dFormData.Sex.Id));
            Assert.That(demog.RaceQuestionId, Is.EqualTo(dFormData.Race.Id));
        }
        public void PatientGridModelSingleInactivePatient()
        {
            //Arrange
            EmulateControllerContext(controller, false);

            ;
            var doctor = new User {
                Id = 15, Login = CommonEmulatedUserName
            };

            userRepository.Setup(r => r.GetUserByLogin(CommonEmulatedUserName)).Returns(doctor);

            var importantForm = new Form()
            {
                Id       = 14,
                FormType = FormType.Demographics
            };


            var wrongForm1 = new Form()
            {
                Id       = 25,
                FormType = FormType.Vitals
            };
            var wrongForm2 = new Form()
            {
                Id       = 25,
                FormType = FormType.Vitals
            };


            var demographicData =
                new DemographicFormData {
                Sex = new Question()
                {
                    Value = "1"
                },
                DateOfBirth = new Question()
                {
                    Value = DateTime.Now.AddYears(-25).ToString(CultureInfo.InvariantCulture)
                },
                Form = importantForm
            };

            var patient =
                new Patient {
                Id            = 4,
                Caption       = "A025",
                PatientNumber = 25,
                IsActive      = false,
                Doctor        = doctor,
                Visits        = new List <Visit> {
                    new Visit()
                    {
                        VisitTypeValue = (int)VisitType.Baseline,
                        Forms          = new List <Form> {
                            importantForm,
                            wrongForm1
                        }
                    },
                    new Visit()
                    {
                        Forms = new List <Form>()
                        {
                            wrongForm2
                        }
                    }
                }
            };

            repository.Setup(r => r.GetAll()).Returns((new List <Patient> {
                patient
            }).AsQueryable());
            demographicRepository.Setup(r => r.GetAll()).Returns((new List <DemographicFormData> {
                demographicData
            }).AsQueryable());
            //Act
            var result = controller.PatientGrid(null, "inactive");

            //Assert
            Assert.That(result, Is.Not.Null);
            Assert.That(result is ViewResultBase);
            var view = result as ViewResultBase;

            Assert.That(view.Model, Is.Not.Null);
            Assert.That(view.Model is PatientsListViewModel);
            var model = view.Model as PatientsListViewModel;

            Assert.That(model.CertainPatientIsActive, Is.False);
            Assert.That(model.CertainPatientPageIndex, Is.EqualTo(-1));
            Assert.That(model.CertainPatientRequested, Is.False);

            Assert.That(model.PatientsList, Is.Not.Null);
            Assert.That(model.PatientsList.Count, Is.EqualTo(1));
            var patientModel = model.PatientsList[0];

            Assert.That(patientModel.Caption, Is.EqualTo(patient.Caption));
            Assert.That(patientModel.Id, Is.EqualTo(patient.Id));
            Assert.That(patientModel.Gender, Is.EqualTo("Female"));
            Assert.That(patientModel.Age, Is.EqualTo("Age 25"));
            Assert.That(patientModel.PatientNumber, Is.EqualTo(patient.PatientNumber));
            Assert.That(patientModel.IsSelected, Is.False);
        }