Beispiel #1
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 );
        }