public async Task ShouldThrowValidationExceptionOnModifyWhenAssignmentIsNullAndLogItAsync() { //given Assignment invalidAssignment = null; var nullAssignmentException = new NullAssignmentException(); var expectedAssignmentValidationException = new AssignmentValidationException(nullAssignmentException); //when ValueTask <Assignment> modifyAssignmentTask = this.assignmentService.ModifyAssignmentAsync(invalidAssignment); //then await Assert.ThrowsAsync <AssignmentValidationException>(() => modifyAssignmentTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedAssignmentValidationException))), Times.Once); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); this.dateTimeBrokerMock.VerifyNoOtherCalls(); }
public async void ShouldThrowValidationExceptionOnCreateWhenAssignmentIsNullAndLogItAsync() { // given Assignment randomAssignment = null; Assignment nullAssignment = randomAssignment; var nullAssignmentException = new NullAssignmentException(); var expectedAssignmentValidationException = new AssignmentValidationException(nullAssignmentException); // when ValueTask <Assignment> createAssignmentTask = this.assignmentService.CreateAssignmentAsync(nullAssignment); // then await Assert.ThrowsAsync <AssignmentValidationException>(() => createAssignmentTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedAssignmentValidationException))), Times.Once); this.storageBrokerMock.Verify(broker => broker.SelectAssignmentByIdAsync(It.IsAny <Guid>()), Times.Never); this.dateTimeBrokerMock.VerifyNoOtherCalls(); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); }