Example #1
0
        public void CreateVisit_GivenValidArguments_VisitIsEditable()
        {
            using ( var serviceLocatorFixture = new ServiceLocatorFixture () )
            {
                // Setup
                var visitRepository = new Mock<IVisitRepository> ();
                var visitStatus = new Mock<VisitStatus> ();
                visitStatus.SetupProperty ( v => v.WellKnownName, WellKnownNames.VisitModule.VisitStatus.Scheduled );
                var visitStatusRepository = new Mock<IVisitStatusRepository> ();
                visitStatusRepository
                    .Setup ( v => v.GetByWellKnownName ( WellKnownNames.VisitModule.VisitStatus.Scheduled ) )
                    .Returns ( visitStatus.Object );

                var visitFactory = new VisitFactory (
                    visitRepository.Object,
                    visitStatusRepository.Object );

                var patient = new Mock<Patient> ();

                var clinicalCase = new Mock<ClinicalCase> ();
                clinicalCase.Setup ( c => c.Patient ).Returns ( patient.Object );

                var agency = new Mock<Agency>();
                var visitTemplate = new VisitTemplate(agency.Object, "Initial Behavioral Health - Adult", "99204" );

                var initialLocation = new Mock<Location> ();

                var staff = new Mock<Staff> ();
                var appointmentDateTimeRange = new DateTimeRange ( new DateTime (), new DateTime () );

                var visit = visitFactory.CreateVisit (
                    staff.Object,
                    appointmentDateTimeRange,
                    clinicalCase.Object,
                    visitTemplate,
                    initialLocation.Object );

                visit.ReviseNote ( "note" );
            }
        }
Example #2
0
        public void DestroyVisit_GivenAVisit_VisitIsMadeTransient()
        {
            bool isTransient = false;

            var visitRepository = new Mock<IVisitRepository> ();
            visitRepository
                .Setup ( v => v.MakeTransient ( It.IsAny<Visit> () ) )
                .Callback ( () => isTransient = true );
            var visitStatus = new Mock<VisitStatus> ();
            visitStatus.SetupProperty ( v => v.WellKnownName, WellKnownNames.VisitModule.VisitStatus.Scheduled );
            var visitStatusRepository = new Mock<IVisitStatusRepository> ();
            visitStatusRepository
                .Setup ( v => v.GetByWellKnownName ( WellKnownNames.VisitModule.VisitStatus.Scheduled ) )
                .Returns ( visitStatus.Object );

            var visitFactory = new VisitFactory (
                visitRepository.Object,
                visitStatusRepository.Object );

            var patient = new Mock<Patient> ();

            var clinicalCase = new Mock<ClinicalCase> ();
            clinicalCase.Setup ( c => c.Patient ).Returns ( patient.Object );
            var visit = new Mock<Visit> ();
            visit.Setup ( v => v.ClinicalCase ).Returns ( clinicalCase.Object );

            visitFactory.DestroyVisit ( visit.Object );

            Assert.IsTrue ( isTransient );
        }
Example #3
0
        public void CreateVisit_NullVisitTemplate_ThrowsNullReferenceException()
        {
            var visitRepository = new Mock<IVisitRepository> ();
            var visitStatus = new Mock<VisitStatus> ();
            visitStatus.SetupProperty ( v => v.WellKnownName, WellKnownNames.VisitModule.VisitStatus.Scheduled );
            var visitStatusRepository = new Mock<IVisitStatusRepository> ();
            visitStatusRepository
                .Setup ( v => v.GetByWellKnownName ( WellKnownNames.VisitModule.VisitStatus.Scheduled ) )
                .Returns ( visitStatus.Object );

            var visitFactory = new VisitFactory (
                visitRepository.Object,
                visitStatusRepository.Object );

            var patient = new Mock<Patient> ();

            var clinicalCase = new Mock<ClinicalCase> ();
            clinicalCase.Setup ( c => c.Patient ).Returns ( patient.Object );
            var initialLocation = new Mock<Location> ();

            var staff = new Mock<Staff> ();
            var appointmentDateTimeRange = new DateTimeRange ( new DateTime (), new DateTime () );

            visitFactory.CreateVisit (
                staff.Object,
                appointmentDateTimeRange,
                clinicalCase.Object,
                null,
                initialLocation.Object );
        }