public async void ShouldThrowValidationExceptionOnModifyWhenSemesterCourseIsNullAndLogItAsync() { //given StudentSemesterCourse invalidStudentSemesterCourse = null; var nullStudentSemesterCourseException = new NullStudentSemesterCourseException(); var expectedSemesterCourseValidationException = new SemesterCourseValidationException(nullStudentSemesterCourseException); //when ValueTask <StudentSemesterCourse> modifyStudentSemesterCourseTask = this.studentSemesterCourseService.ModifyStudentSemesterCourseAsync(invalidStudentSemesterCourse); //then await Assert.ThrowsAsync <StudentSemesterCourseValidationException>(() => modifyStudentSemesterCourseTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedSemesterCourseValidationException))), Times.Once); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); this.dateTimeBrokerMock.VerifyNoOtherCalls(); }
public async void ShouldThrowValidationExceptionOnCreateWhenStudentSemesterCourseIsNullAndLogItAsync() { // given StudentSemesterCourse randomStudentSemesterCourse = null; StudentSemesterCourse nullStudentSemesterCourse = randomStudentSemesterCourse; var nullStudentSemesterCourseException = new NullStudentSemesterCourseException(); var expectedStudentSemesterCourseValidationException = new StudentSemesterCourseValidationException(nullStudentSemesterCourseException); // when ValueTask <StudentSemesterCourse> createStudentSemesterCourseTask = this.studentSemesterCourseService.CreateStudentSemesterCourseAsync(nullStudentSemesterCourse); // then await Assert.ThrowsAsync <StudentSemesterCourseValidationException>(() => createStudentSemesterCourseTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedStudentSemesterCourseValidationException))), Times.Once); this.storageBrokerMock.Verify(broker => broker.SelectStudentSemesterCourseByIdAsync(It.IsAny <Guid>(), It.IsAny <Guid>()), Times.Never); this.dateTimeBrokerMock.VerifyNoOtherCalls(); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); }