public async Task Handle_CustomerExists_ReturnCustomer( [Frozen] Mock <IRepository <Entities.Customer> > customerRepoMock, GetCustomerQueryHandler sut, GetCustomerQuery query, Entities.StoreCustomer customer ) { //Arrange customerRepoMock.Setup(_ => _.GetBySpecAsync( It.IsAny <GetCustomerSpecification>(), It.IsAny <CancellationToken>() )) .ReturnsAsync(customer); //Act var result = await sut.Handle(query, CancellationToken.None); //Assert result.Should().NotBeNull(); customerRepoMock.Verify(x => x.GetBySpecAsync( It.IsAny <GetCustomerSpecification>(), It.IsAny <CancellationToken>() )); result.Should().BeEquivalentTo(customer, opt => opt .Excluding(_ => _.SelectedMemberPath.EndsWith("Id", StringComparison.InvariantCultureIgnoreCase)) ); }
public GetCustomerQueryHandlerTests() { this.repositoryMock = new Mock <ICustomersRepository>(); this.handler = new GetCustomerQueryHandler(this.repositoryMock.Object); this.fixture = new Fixture(); }
public async Task EmptyTest() { var sut = new GetCustomerQueryHandler(Repository, Mapper); var result = await sut.Handle(new GetCustomerQuery { }, CancellationToken.None); Assert.IsNull(result); }
public async Task GetCustomerByNotExistCustomerId() { var sut = new GetCustomerQueryHandler(_context, _mapper); var result = await sut.Handle(new GetCustomerQuery { Id = 2 }, CancellationToken.None); result.ShouldBeNull(); }
public async Task GetByIdTest() { var sut = new GetCustomerQueryHandler(Repository, Mapper); var result = await sut.Handle(new GetCustomerQuery { CustomerId = 213233 }, CancellationToken.None); Assert.IsInstanceOf <CustomerProfileDto>(result); Assert.AreEqual(213233, result.CustomerId); }
public async Task GetByEmailTest() { var sut = new GetCustomerQueryHandler(Repository, Mapper); var result = await sut.Handle(new GetCustomerQuery { Email = "*****@*****.**" }, CancellationToken.None); Assert.IsInstanceOf <CustomerProfileDto>(result); Assert.AreEqual("*****@*****.**", result.Email); }
public void Handle_WhenInValidRequest_ShouldThrowException() { var sut = new GetCustomerQueryHandler(_context); var request = new GetCustomerQuery { Id = Guid.NewGuid() }; Assert.ThrowsAsync <ValidationException>(() => sut.Handle(request, CancellationToken.None)); }
public async Task GetCustomerDetailNotFound() { var sut = new GetCustomerQueryHandler(_logger, _mapper, _context); var exceptionResult = await Assert.ThrowsAsync <NotFoundException>(async() => await sut.Handle(new GetCustomerQuery { CustomerId = Guid.Parse("ACA5A84B-CD2C-441B-9795-632FBC0B05FB") }, CancellationToken.None)); Assert.Contains("not found", exceptionResult.Message); }
public void Handle_WhenValidRequest_ShouldReturnCustomer() { var sut = new GetCustomerQueryHandler(_context); var request = new GetCustomerQuery { Id = Guid.Parse("39aff1c2-5530-4112-bd3d-b72b52f4d69d") }; var result = sut.Handle(request, CancellationToken.None).Result; Assert.AreEqual(request.Id, result.Id); }
public async Task GetCustomerDetailExists() { var sut = new GetCustomerQueryHandler(_logger, _mapper, _context); var result = await sut.Handle(new GetCustomerQuery { CustomerId = Guid.Parse("ACA5A74B-CD2C-441B-9795-632FBC0B05FB") }, CancellationToken.None); Assert.IsType <CustomerDto>(result); Assert.Equal(Guid.Parse("ACA5A74B-CD2C-441B-9795-632FBC0B05FB"), result.Id); Assert.Equal("Test1", result.Name); Assert.Equal("*****@*****.**", result.Email); Assert.Equal(10000M, result.MonthlyIncome); Assert.Equal(1000M, result.MonthlyExpense); }
public async Task GetAsync() { var dataAccess = new CustomerDataAccess(this.Context); //Act var sutCreate = new CreateCustomerCommandHandler(dataAccess); var resultCreate = await sutCreate.Handle(new CreateCustomerCommand { Data = CustomerTestData.CustomerDataDTO }, CancellationToken.None); //Act var sutGet = new GetCustomerQueryHandler(dataAccess); var resultGet = await sutGet.Handle(new GetCustomerQuery { Id = resultCreate.Data.Id }, CancellationToken.None); Assert.IsTrue(resultGet?.Data != null); }
public void Handle_CustomerNotFound_ThrowArgumentNullException( [Frozen] Mock <IRepository <Entities.Customer> > customerRepoMock, GetCustomerQueryHandler sut, GetCustomerQuery query ) { // Arrange customerRepoMock.Setup(x => x.GetBySpecAsync( It.IsAny <GetCustomerSpecification>(), It.IsAny <CancellationToken>() )) .ReturnsAsync((Entities.Customer)null); //Act Func <Task> func = async() => await sut.Handle(query, CancellationToken.None); //Assert func.Should().Throw <ArgumentNullException>() .WithMessage("Value cannot be null. (Parameter 'customer')"); }