Ejemplo n.º 1
0
        public void CreateEventQuerySuccessReturnsEventId()
        {
            // Arrange
            var examination        = new MedicalExaminer.Models.Examination();
            var theEvent           = new Mock <OtherEvent>(); // only other event has been implemented so far.
            var connectionSettings = new Mock <IExaminationConnectionSettings>();
            var query = new CreateEventQuery("1", theEvent.Object);

            theEvent.Object.UserId = "a";
            var dbAccess = new Mock <IDatabaseAccess>();

            dbAccess.Setup(db => db.GetItemByIdAsync <MedicalExaminer.Models.Examination>(connectionSettings.Object,
                                                                                          It.IsAny <string>()))
            .Returns(Task.FromResult(examination)).Verifiable();

            dbAccess.Setup(db => db.UpdateItemAsync(connectionSettings.Object,
                                                    It.IsAny <MedicalExaminer.Models.Examination>())).Returns(Task.FromResult(examination)).Verifiable();

            var sut = new CreateEventService(dbAccess.Object, connectionSettings.Object, _urgencySettingsMock.Object);

            // Act
            var result = sut.Handle(query);

            // Assert
            dbAccess.Verify(db => db.UpdateItemAsync(connectionSettings.Object,
                                                     It.IsAny <MedicalExaminer.Models.Examination>()), Times.Once);

            Assert.NotNull(result.Result);
            Assert.Equal("a", examination.LastModifiedBy);
        }
Ejemplo n.º 2
0
        public void CreateEventOnExaminationWithNoUrgencyIndicatorsSuccessReturnsExaminationWithUrgencyScoreZero()
        {
            // Arrange
            var examination = new MedicalExaminer.Models.Examination()
            {
                ChildPriority    = false,
                CoronerPriority  = false,
                CulturalPriority = false,
                FaithPriority    = false,
                OtherPriority    = false,
                CreatedAt        = DateTime.Now.AddDays(-3)
            };
            var theEvent           = new Mock <OtherEvent>(); // only other event has been implemented so far.
            var connectionSettings = new Mock <IExaminationConnectionSettings>();
            var query = new CreateEventQuery("1", theEvent.Object);

            theEvent.Object.UserId = "a";
            var dbAccess = new Mock <IDatabaseAccess>();

            dbAccess.Setup(db => db.GetItemByIdAsync <MedicalExaminer.Models.Examination>(connectionSettings.Object,
                                                                                          It.IsAny <string>()))
            .Returns(Task.FromResult(examination)).Verifiable();

            dbAccess.Setup(db => db.UpdateItemAsync(connectionSettings.Object,
                                                    It.IsAny <MedicalExaminer.Models.Examination>())).Returns(Task.FromResult(examination)).Verifiable();

            var sut = new CreateEventService(dbAccess.Object, connectionSettings.Object, _urgencySettingsMock.Object);

            // Act
            var result = sut.Handle(query);

            // Assert
            examination.IsUrgent().Should().BeFalse();
            examination.LastModifiedBy.Should().Be("a");
        }
Ejemplo n.º 3
0
        public void CreateEventQueryIsNullThrowsException()
        {
            // Arrange
            var connectionSettings = new Mock <IExaminationConnectionSettings>();
            CreateEventQuery query = null;
            var dbAccess           = new Mock <IDatabaseAccess>();

            var sut = new CreateEventService(dbAccess.Object, connectionSettings.Object, _urgencySettingsMock.Object);

            // Act
            Action act = () => sut.Handle(query).GetAwaiter().GetResult();

            act.Should().Throw <ArgumentNullException>();
        }