public async void ShouldThrowValidationExceptionOnAddWhenContactIsNullAndLogItAsync() { // given Contact randomContact = null; Contact nullContact = randomContact; var nullContactException = new NullContactException(); var expectedContactValidationException = new ContactValidationException(nullContactException); // when ValueTask <Contact> addContactTask = this.contactService.AddContactAsync(nullContact); // then await Assert.ThrowsAsync <ContactValidationException>(() => addContactTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedContactValidationException))), Times.Once); this.storageBrokerMock.Verify(broker => broker.InsertContactAsync(It.IsAny <Contact>()), Times.Never); this.dateTimeBrokerMock.VerifyNoOtherCalls(); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); }
public async Task ShouldThrowValidationExceptionOnModifyWhenContactIsNullAndLogItAsync() { //given Contact invalidContact = null; var nullContactException = new NullContactException(); var expectedContactValidationException = new ContactValidationException(nullContactException); //when ValueTask <Contact> modifyContactTask = this.contactService.ModifyContactAsync(invalidContact); //then await Assert.ThrowsAsync <ContactValidationException>(() => modifyContactTask.AsTask()); this.loggingBrokerMock.Verify(broker => broker.LogError(It.Is(SameExceptionAs(expectedContactValidationException))), Times.Once); this.loggingBrokerMock.VerifyNoOtherCalls(); this.storageBrokerMock.VerifyNoOtherCalls(); this.dateTimeBrokerMock.VerifyNoOtherCalls(); }