示例#1
0
        public async Task ShouldReturnNullIfCustomerDoesntExist()
        {
            var command = new GetCustomerByIdQuery(-1);
            var handler = new GetCustomerByIdQueryHandler(_mapper, _customerReadOnlyRepository);
            var result  = await handler.Handle(command, CancellationToken.None);

            Assert.IsTrue(result == null);
        }
示例#2
0
        public async Task GetCustomerById_InValidId_ReturnsNotFound()
        {
            var id = Guid.Parse("B0788D2F-8003-43C1-92A4-EDC76A7C5DDD");

            var handler = new GetCustomerByIdQueryHandler(_customerRepository.Object, _mapper);

            var result = await handler.Handle(new GetCustomerByIdQuery(id), CancellationToken.None);
        }
        public async Task Handle_GivenNullRequest_ShouldTurnArgumentNullException()
        {
            // Arrange
            var sut = new GetCustomerByIdQueryHandler(this.deletableEntityRepository);

            // Act & Assert
            await Should.ThrowAsync <ArgumentNullException>(sut.Handle(null, It.IsAny <CancellationToken>()));
        }
示例#4
0
        public GetCustomerByIdQueryHandlerTests()
        {
            _customerRepository = A.Fake <ICustomerRepository>();
            _testee             = new GetCustomerByIdQueryHandler(_customerRepository);

            _customer = new Customer {
                Id = _id, Age = 42
            };
        }
示例#5
0
        public async Task ShouldReturnOneCustomer()
        {
            var command = new GetCustomerByIdQuery(1);
            var handler = new GetCustomerByIdQueryHandler(_mapper, _customerReadOnlyRepository);
            var result  = await handler.Handle(command, CancellationToken.None);

            var customer = await _customerReadOnlyRepository.GetById(1);

            Assert.IsTrue(result != null);
            Assert.IsTrue(customer.Email == result.Email);
        }
        public async Task Handle_GivenInvalidRequest_ShouldThrowNotFoundException()
        {
            // Arrange
            var query = new GetCustomerByIdQuery {
                Id = 1000
            };
            var sut = new GetCustomerByIdQueryHandler(this.deletableEntityRepository);

            // Act & Assert
            await Should.ThrowAsync <NotFoundException>(sut.Handle(query, It.IsAny <CancellationToken>()));
        }
        public async Task Test_ForNonExistingCustomer_ShouldReturnNull()
        {
            var mock = new Mock <ICustomerRepository>();

            mock.Setup(foo => foo.GetById(1)).Returns((Customer)null);
            var query        = new GetCustomerByIdQuery(1);
            var queryHandler = new GetCustomerByIdQueryHandler(mock.Object);

            //  Act
            var result = await queryHandler.Handle(query, CancellationToken.None);

            //  Assert
            Assert.Null(result);
        }
        public async Task Handle_GivenValidRequest_ShouldReturnEditMainCategoryCommand()
        {
            // Arrange
            var query = new GetCustomerByIdQuery {
                Id = 1
            };
            var sut = new GetCustomerByIdQueryHandler(this.deletableEntityRepository);

            // Act
            var customer = await sut.Handle(query, It.IsAny <CancellationToken>());

            customer.ShouldNotBeNull();
            customer.ShouldBeOfType <CustomerLookupModel>();
            customer.FirstName.ShouldBe("John");
        }
        public async void GetCustomerByIdQuery_GetsCustomer()
        {
            // Arrange
            var createCustomer = _fixture.Build <CreateCustomerCommand>().Create();
            var customerId     =
                await new CreateCustomerCommandHandler(_petShopContext).Handle(createCustomer, CancellationToken.None);

            // Act
            var mockHandler = new GetCustomerByIdQueryHandler(_petShopContext);
            var customer    =
                await mockHandler.Handle(new GetCustomerByIdQuery { Id = customerId }, CancellationToken.None);

            // Assert
            Assert.NotNull(customer);
            Assert.Equal(customerId, customer.Id);
        }
        public async Task ShouldReturnNullIfCustomerDoesntExist()
        {
            //Arrange
            Customer expected = null;

            _customerReadOnlyRepository.Setup(x =>
                                              x.GetById(It.IsAny <int>()))
            .Returns(Task.FromResult(expected))
            .Verifiable();

            //Act
            var command = new GetCustomerByIdQuery(1);
            var handler = new GetCustomerByIdQueryHandler(_mapper, _customerReadOnlyRepository.Object);

            //Assert
            var result = await handler.Handle(command, CancellationToken.None);

            Assert.Null(result);
            _customerReadOnlyRepository.Verify(x => x.GetById(It.IsAny <int>()), Times.Once);
        }
        public async Task Test_ForExistingCustomer_ShouldReturnCustomer()
        {
            // Arrange
            var mock     = new Mock <ICustomerRepository>();
            var customer = Fixture.Create <Customer>();

            mock.Setup(foo => foo.GetById(customer.Id)).Returns(customer);
            var query        = new GetCustomerByIdQuery(customer.Id);
            var queryHandler = new GetCustomerByIdQueryHandler(mock.Object);

            //  Act
            var result = await queryHandler.Handle(query, CancellationToken.None);

            //  Assert
            Assert.NotNull(result);
            Assert.Equal(customer.Id, result.Id);
            Assert.Equal(customer.Name, result.Name);
            Assert.Equal(customer.Address, result.Address);
            Assert.Equal(customer.Email, result.Email);
            Assert.Equal(customer.DateBirth, result.DateBirth, new TimeSpan(1, 0, 0, 0));
        }
        public async Task ShouldReturnOneCustomer()
        {
            //Arrange
            Customer expected = new Customer()
            {
                Email = "*****@*****.**", Age = 25
            };

            _customerReadOnlyRepository.Setup(x =>
                                              x.GetById(It.IsAny <int>()))
            .Returns(Task.FromResult(expected));

            var command = new GetCustomerByIdQuery(1);
            var handler = new GetCustomerByIdQueryHandler(_mapper, _customerReadOnlyRepository.Object);

            //Act
            var result = await handler.Handle(command, CancellationToken.None);

            //Assert
            Assert.NotNull(result);
            Assert.Equal("*****@*****.**", result.Email);
        }