Esempio n. 1
0
        public async void ShouldThrowValidationExceptionOnAddWhenCalendarIsNullAndLogItAsync()
        {
            // given
            Calendar randomCalendar = null;
            Calendar nullCalendar   = randomCalendar;

            var nullCalendarException = new NullCalendarException();

            var expectedCalendarValidationException =
                new CalendarValidationException(nullCalendarException);

            // when
            ValueTask <Calendar> registerCalendarTask =
                this.calendarService.AddCalendarAsync(nullCalendar);

            // then
            await Assert.ThrowsAsync <CalendarValidationException>(() =>
                                                                   registerCalendarTask.AsTask());

            this.loggingBrokerMock.Verify(broker =>
                                          broker.LogError(It.Is(SameExceptionAs(expectedCalendarValidationException))),
                                          Times.Once);

            this.storageBrokerMock.Verify(broker =>
                                          broker.InsertCalendarAsync(It.IsAny <Calendar>()),
                                          Times.Never);

            this.dateTimeBrokerMock.VerifyNoOtherCalls();
            this.loggingBrokerMock.VerifyNoOtherCalls();
            this.storageBrokerMock.VerifyNoOtherCalls();
        }
        public async Task ShouldThrowValidationExceptionOnModifyWhenCalendarIsNullAndLogItAsync()
        {
            //given
            Calendar invalidCalendar       = null;
            var      nullCalendarException = new NullCalendarException();

            var expectedCalendarValidationException =
                new CalendarValidationException(nullCalendarException);

            //when
            ValueTask <Calendar> modifyCalendarTask =
                this.calendarService.ModifyCalendarAsync(invalidCalendar);

            //then
            await Assert.ThrowsAsync <CalendarValidationException>(() =>
                                                                   modifyCalendarTask.AsTask());

            this.loggingBrokerMock.Verify(broker =>
                                          broker.LogError(It.Is(SameExceptionAs(expectedCalendarValidationException))),
                                          Times.Once);

            this.loggingBrokerMock.VerifyNoOtherCalls();
            this.storageBrokerMock.VerifyNoOtherCalls();
            this.dateTimeBrokerMock.VerifyNoOtherCalls();
        }