public async Task InsertBasket_NullRequest_ThrowsException() { //Arrange var mock = InsertBasketMock.Create(); var target = mock.Target; InsertBasketRequest request = null; //Act async Task execute() => await target.Execute(request); //Assert await Assert.ThrowsAsync <ArgumentNullException>(execute); }
public async Task InsertBasket_NullCustomerEmail_ThrowsException() { //Arrange string customerEmail = null; var mock = InsertBasketMock.Create(); var target = mock.Target; var request = InsertBasketRequest.Create(customerEmail); //Act async Task execute() => await target.Execute(request); //Assert await Assert.ThrowsAsync <ArgumentException>(execute); }
public async Task InsertBasket_ValidRequest_ProducerCalledOnce() { //Arrange var customerEmail = "*****@*****.**"; var mock = InsertBasketMock.Create(); var target = mock.Target; var request = InsertBasketRequest.Create(customerEmail); //Act await target.Execute(request); //Assert mock.BasketCreatedProducerMock.Verify(x => x.ProduceBasketCreatedEventAsync(It.IsAny <string>()), Times.Once()); }
public async Task InsertBasket_ValidRequest_RepositoryCalledOnce() { //Arrange var customerEmail = "*****@*****.**"; var mock = InsertBasketMock.Create(); var target = mock.Target; var request = InsertBasketRequest.Create(customerEmail); //Act await target.Execute(request); //Assert mock.BasketsRepositoryMock.Verify(rep => rep.Insert(It.IsAny <Basket>()), Times.Once()); }