Example #1
0
        public void CreateLabSpecimen_GivenValidArguments_LabSpecimenIsMadePersistent()
        {
            bool isPersistent = false;

            var activityType          = new Mock <ActivityType>();
            var lookupValueRepository = new Mock <ILookupValueRepository>();

            lookupValueRepository
            .Setup(l => l.GetLookupByWellKnownName <ActivityType>(It.IsAny <string>()))
            .Returns(activityType.Object);

            var labSpecimenRepository = new Mock <ILabSpecimenRepository>();

            labSpecimenRepository
            .Setup(v => v.MakePersistent(It.IsAny <LabSpecimen>()))
            .Callback(() => isPersistent = true);

            var labSpecimenFactory = new LabSpecimenFactory(
                labSpecimenRepository.Object,
                lookupValueRepository.Object);

            var visit        = new Mock <Visit>();
            var clinicalCase = new Mock <ClinicalCase>();
            var patient      = new Mock <Patient>();

            visit.Setup(v => v.ClinicalCase).Returns(clinicalCase.Object);
            clinicalCase.Setup(c => c.Patient).Returns(patient.Object);

            labSpecimenFactory.CreateLabSpecimen(visit.Object);

            Assert.IsTrue(isPersistent);
        }
Example #2
0
        public void CreateLabSpecimen_GivenValidArguments_LabSpecimenIsEditable()
        {
            using (var serviceLocatorFixture = new ServiceLocatorFixture())
            {
                // Setup
                var activityType          = new Mock <ActivityType>();
                var lookupValueRepository = new Mock <ILookupValueRepository>();
                lookupValueRepository
                .Setup(l => l.GetLookupByWellKnownName <ActivityType>(It.IsAny <string>()))
                .Returns(activityType.Object);

                var labSpecimenRepository = new Mock <ILabSpecimenRepository>();

                var labSpecimenFactory = new LabSpecimenFactory(
                    labSpecimenRepository.Object,
                    lookupValueRepository.Object);

                var visit           = new Mock <Visit>();
                var clinicalCase    = new Mock <ClinicalCase>();
                var patient         = new Mock <Patient>();
                var labSpecimenType = new Mock <LabSpecimenType>();

                visit.Setup(v => v.ClinicalCase).Returns(clinicalCase.Object);
                clinicalCase.Setup(c => c.Patient).Returns(patient.Object);

                var labSpecimen = labSpecimenFactory.CreateLabSpecimen(visit.Object);
                labSpecimen.ReviseLabSpecimenType(labSpecimenType.Object);
            }
        }
Example #3
0
        public void CreateLabSpecimen_GivenValidArguments_CreatesLabSpecimen()
        {
            var activityType          = new Mock <ActivityType>();
            var lookupValueRepository = new Mock <ILookupValueRepository>();

            lookupValueRepository
            .Setup(l => l.GetLookupByWellKnownName <ActivityType>(It.IsAny <string>()))
            .Returns(activityType.Object);

            var labSpecimenRepository = new Mock <ILabSpecimenRepository>();

            var labSpecimenFactory = new LabSpecimenFactory(
                labSpecimenRepository.Object,
                lookupValueRepository.Object);

            var visit        = new Mock <Visit>();
            var clinicalCase = new Mock <ClinicalCase>();
            var patient      = new Mock <Patient>();

            visit.Setup(v => v.ClinicalCase).Returns(clinicalCase.Object);
            clinicalCase.Setup(c => c.Patient).Returns(patient.Object);

            LabSpecimen labSpecimen = labSpecimenFactory.CreateLabSpecimen(visit.Object);

            Assert.IsNotNull(labSpecimen);
        }
Example #4
0
        public void DestoryLabSpecimen_GivenLabSpecimen_LabSpecimenIsTransient()
        {
            bool isTransient = false;

            var lookupValueRepository = new Mock <ILookupValueRepository>();
            var labSpecimenRepository = new Mock <ILabSpecimenRepository>();

            labSpecimenRepository
            .Setup(v => v.MakeTransient(It.IsAny <LabSpecimen>()))
            .Callback(() => isTransient = true);

            var labSpecimenFactory = new LabSpecimenFactory(
                labSpecimenRepository.Object,
                lookupValueRepository.Object);

            var labSpecimen  = new Mock <LabSpecimen>();
            var visit        = new Mock <Visit>();
            var clinicalCase = new Mock <ClinicalCase>();
            var patient      = new Mock <Patient>();

            labSpecimen.Setup(v => v.Visit).Returns(visit.Object);
            visit.Setup(v => v.ClinicalCase).Returns(clinicalCase.Object);
            clinicalCase.Setup(c => c.Patient).Returns(patient.Object);

            labSpecimenFactory.DestroyLabSpecimen(labSpecimen.Object);

            Assert.IsTrue(isTransient);
        }
Example #5
0
        public void CreateLabSpecimen_NullVisit_ThrowsArgumentException()
        {
            var activityType          = new Mock <ActivityType>();
            var lookupValueRepository = new Mock <ILookupValueRepository>();

            lookupValueRepository
            .Setup(l => l.GetLookupByWellKnownName <ActivityType>(It.IsAny <string>()))
            .Returns(activityType.Object);

            var labSpecimenRepository = new Mock <ILabSpecimenRepository>();

            var labSpecimenFactory = new LabSpecimenFactory(
                labSpecimenRepository.Object,
                lookupValueRepository.Object);

            var labSpecimenType = new Mock <LabSpecimenType>();

            try
            {
                labSpecimenFactory.CreateLabSpecimen(null);
                Assert.Fail();
            }
            catch (ArgumentException)
            {
            }
        }
Example #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SaveLabResultRequestHandler"/> class.
 /// </summary>
 /// <param name="labSpecimenFactory">The lab specimen factory.</param>
 /// <param name="labSpecimenTypeRepository">The lab specimen type repository.</param>
 /// <param name="visitStatusRepository">The visit status repository.</param>
 /// <param name="labTestNameRepository">The lab test name repository.</param>
 public SaveLabResultRequestHandler(
     LabSpecimenFactory labSpecimenFactory,
     ILabSpecimenTypeRepository labSpecimenTypeRepository,
     IVisitStatusRepository visitStatusRepository,
     ILabTestNameRepository labTestNameRepository)
 {
     _labSpecimenFactory        = labSpecimenFactory;
     _labSpecimenTypeRepository = labSpecimenTypeRepository;
     _visitStatusRepository     = visitStatusRepository;
     _labTestNameRepository     = labTestNameRepository;
 }