public async void ShouldThrowValidationExceptionOnModifyWhenStudentExamIsNullAndLogItAsync() { //given StudentExam invalidStudentExam = null; var nullStudentExamException = new NullStudentExamException(); var expectedStudentExamValidationException = new StudentExamValidationException(nullStudentExamException); //when ValueTask <StudentExam> modifyStudentExamTask = this.studentExamService.ModifyStudentExamAsync(invalidStudentExam); //then await Assert.ThrowsAsync <StudentExamValidationException>(() => modifyStudentExamTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs( expectedStudentExamValidationException))), Times.Once); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); this.dateTimeBrokerMock.VerifyNoOtherCalls(); }
public async void ShouldThrowValidationExceptionOnAddWhenStudentExamIsNullAndLogItAsync() { // given StudentExam randomStudentExam = default; StudentExam nullStudentExam = randomStudentExam; var nullStudentExamException = new NullStudentExamException(); var expectedStudentExamValidationException = new StudentExamValidationException(nullStudentExamException); // when ValueTask <StudentExam> addStudentExamTask = this.studentExamService.AddStudentExamAsync(nullStudentExam); // then await Assert.ThrowsAsync <StudentExamValidationException>(() => addStudentExamTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedStudentExamValidationException))), Times.Once); this.storageBrokerMock.Verify(broker => broker.InsertStudentExamAsync(It.IsAny <StudentExam>()), Times.Never); this.dateTimeBrokerMock.VerifyNoOtherCalls(); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); }