public async void ShouldThrowValidationExceptionOnCreateWhenSemesterCourseIsNullAndLogItAsync() { // given SemesterCourse randomSemesterCourse = null; SemesterCourse nullSemesterCourse = randomSemesterCourse; var nullSemesterCourseException = new NullSemesterCourseException(); var expectedSemesterCourseValidationException = new SemesterCourseValidationException(nullSemesterCourseException); // when ValueTask <SemesterCourse> createSemesterCourseTask = this.semesterCourseService.CreateSemesterCourseAsync(nullSemesterCourse); // then await Assert.ThrowsAsync <SemesterCourseValidationException>(() => createSemesterCourseTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedSemesterCourseValidationException))), Times.Once); this.storageBrokerMock.Verify(broker => broker.SelectSemesterCourseByIdAsync(It.IsAny <Guid>()), Times.Never); this.dateTimeBrokerMock.VerifyNoOtherCalls(); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); }
public async void ShouldThrowValidationExceptionOnModifyWhenSemesterCourseIsNullAndLogItAsync() { //given SemesterCourse invalidSemesterCourse = null; var nullSemesterCourseException = new NullSemesterCourseException(); var expectedSemesterCourseValidationException = new SemesterCourseValidationException(nullSemesterCourseException); //when ValueTask <SemesterCourse> modifySemesterCourseTask = this.semesterCourseService.ModifySemesterCourseAsync(invalidSemesterCourse); //then await Assert.ThrowsAsync <SemesterCourseValidationException>(() => modifySemesterCourseTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedSemesterCourseValidationException))), Times.Once); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); this.dateTimeBrokerMock.VerifyNoOtherCalls(); }