public async Task ShouldThorwValidationExceptionOnModifyWhenTeacherIsNullAndLogItAsync() { // given Teacher invalidTeacher = null; var nullTeacherException = new NullTeacherException(); var expectedTeacherValidationException = new TeacherValidationException(nullTeacherException); // when ValueTask <Teacher> modifyTeacherTask = this.teacherService.ModifyTeacherAsync(invalidTeacher); // then await Assert.ThrowsAsync <TeacherValidationException>(() => modifyTeacherTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedTeacherValidationException))), Times.Once); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); this.dateTimeBrokerMock.VerifyNoOtherCalls(); }
public async void ShouldThrowValidationExceptionOnCreateWhenTeacherIsNullAndLogItAsync() { // given Teacher randomTeacher = null; Teacher nullTeacher = randomTeacher; var nullTeacherException = new NullTeacherException(); var expectedTeacherValidationException = new TeacherValidationException(nullTeacherException); // when ValueTask <Teacher> createTeacherTask = this.teacherService.CreateTeacherAsync(nullTeacher); // then await Assert.ThrowsAsync <TeacherValidationException>(() => createTeacherTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedTeacherValidationException))), Times.Once); this.storageBrokerMock.Verify(broker => broker.SelectTeacherByIdAsync(It.IsAny <Guid>()), Times.Never); this.dateTimeBrokerMock.VerifyNoOtherCalls(); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); }