Esempio n. 1
0
        public async Task RelistProduct_ValidRequest_ReturnsResponse()
        {
            var record = _productRecords.Where(e => !e.IsListed).First();
            var id     = record.Id;

            var activateRequest = new RelistProductRequest
            {
                Id = id,
            };

            var activateResponse = await Fixture.Products.RelistProductAsync(activateRequest);

            AssertUtilities.NotEmpty(activateResponse.Id);
            Assert.Equal(record.Id, activateResponse.Id);
            Assert.Equal(record.ProductCode, activateResponse.Code);
            Assert.Equal(record.ProductName, activateResponse.Description);
            Assert.Equal(record.ListPrice, activateResponse.UnitPrice);
            Assert.True(activateResponse.IsListed);

            var findRequest = new FindProductRequest {
                Id = activateResponse.Id
            };

            var findResponse = await Fixture.Products.FindProductAsync(findRequest);

            Assert.Equal(activateResponse.Id, findResponse.Id);
            Assert.Equal(activateResponse.Code, findResponse.Code);
            Assert.Equal(activateResponse.Description, findResponse.Description);
            Assert.Equal(activateResponse.UnitPrice, findResponse.UnitPrice);
            Assert.Equal(activateResponse.IsListed, findResponse.IsListed);
        }
Esempio n. 2
0
        public async Task UnlistProduct_ValidRequest_ReturnsResponse()
        {
            var record = _productRecords.Where(e => e.IsListed).First();
            var id     = record.Id;

            var dectivateRequest = new UnlistProductRequest
            {
                Id = id,
            };

            var deactivateResponse = await Fixture.Products.UnlistProductAsync(dectivateRequest);

            AssertUtilities.NotEmpty(deactivateResponse.Id);
            Assert.Equal(record.Id, deactivateResponse.Id);
            Assert.Equal(record.ProductCode, deactivateResponse.Code);
            Assert.Equal(record.ProductName, deactivateResponse.Description);
            Assert.Equal(record.ListPrice, deactivateResponse.UnitPrice);
            Assert.False(deactivateResponse.IsActive);

            var findRequest = new FindProductRequest {
                Id = deactivateResponse.Id
            };

            var findResponse = await Fixture.Products.FindProductAsync(findRequest);

            Assert.Equal(deactivateResponse.Id, findResponse.Id);
            Assert.Equal(deactivateResponse.Code, findResponse.Code);
            Assert.Equal(deactivateResponse.Description, findResponse.Description);
            Assert.Equal(deactivateResponse.UnitPrice, findResponse.UnitPrice);
            Assert.Equal(deactivateResponse.IsActive, findResponse.IsListed);
        }
Esempio n. 3
0
        public async Task CreateProduct_ValidRequest_ReturnsResponse()
        {
            var createRequest = new CreateProductRequest
            {
                Code        = "ABC",
                Description = "My desc",
                UnitPrice   = 123.56m,
            };

            var createResponse = await Fixture.Products.CreateProductAsync(createRequest);

            AssertUtilities.NotEmpty(createResponse.Id);
            Assert.Equal(createRequest.Code, createResponse.Code);
            Assert.Equal(createRequest.Description, createResponse.Description);
            Assert.Equal(createRequest.UnitPrice, createResponse.UnitPrice);
            Assert.True(createResponse.IsListed);

            var findRequest = new FindProductRequest {
                Id = createResponse.Id
            };

            var findResponse = await Fixture.Products.FindProductAsync(findRequest);

            Assert.Equal(findRequest.Id, findResponse.Id);
            Assert.Equal(createRequest.Code, findResponse.Code);
            Assert.Equal(createRequest.Description, findResponse.Description);
            Assert.Equal(createRequest.UnitPrice, findResponse.UnitPrice);
            Assert.True(findResponse.IsListed);
        }
Esempio n. 4
0
        public async Task FindProduct_NotExistRequest_ThrowsNotFoundRequestException()
        {
            var id = Guid.NewGuid();

            var findRequest = new FindProductRequest {
                Id = id
            };

            await Assert.ThrowsAsync <NotFoundRequestException>(() => Fixture.Products.FindProductAsync(findRequest));
        }
Esempio n. 5
0
        public async Task FindProduct_NotExist_NotFound()
        {
            var id = 999;

            var findRequest = new FindProductRequest {
                Id = id
            };

            var findResponse = await Fixture.Api.Products.FindProductAsync(findRequest);

            Assert.Equal(HttpStatusCode.NotFound, findResponse.StatusCode);
        }
Esempio n. 6
0
        public async Task FindProduct_ValidRequest_ReturnsCustomer()
        {
            var customerRecord = _productRecords[0];
            var id             = customerRecord.Id;

            var findRequest = new FindProductRequest {
                Id = id
            };
            var findResponse = await Fixture.Products.FindProductAsync(findRequest);

            Assert.Equal(customerRecord.Id, findResponse.Id);
            Assert.Equal(customerRecord.ProductCode, findResponse.Code);
            Assert.Equal(customerRecord.ProductName, findResponse.Description);
            Assert.Equal(customerRecord.ListPrice, findResponse.UnitPrice);
            Assert.Equal(customerRecord.IsListed, findResponse.IsListed);
        }
Esempio n. 7
0
        public async Task FindProduct_Valid_OK()
        {
            var productRecord = _productRecords[0];
            var id            = productRecord.Id;

            var findRequest = new FindProductRequest {
                Id = id
            };

            var findResponse = await Fixture.Api.Products.FindProductAsync(findRequest);

            Assert.Equal(HttpStatusCode.OK, findResponse.StatusCode);

            var findResponseContent = findResponse.Data;

            Assert.Equal(productRecord.Id, findResponseContent.Id);
            Assert.Equal(productRecord.ProductCode, findResponseContent.Code);
            Assert.Equal(productRecord.ProductName, findResponseContent.Description);
            Assert.Equal(productRecord.ListPrice, findResponseContent.UnitPrice);
        }
Esempio n. 8
0
        public async Task CreateProduct_Valid_Created()
        {
            var createRequest = new CreateProductRequest
            {
                Code        = "My code 1",
                Description = "My name 1",
                UnitPrice   = 100.56m,
            };

            var createResponse = await Fixture.Api.Products.CreateProductAsync(createRequest);

            Assert.Equal(HttpStatusCode.Created, createResponse.StatusCode);

            var createResponseContent = createResponse.Data;

            Assert.True(createResponseContent.Id > 0);

            Assert.Equal(createRequest.Code, createResponseContent.Code);
            Assert.Equal(createRequest.Description, createResponseContent.Description);
            Assert.Equal(createRequest.UnitPrice, createResponseContent.UnitPrice);

            var findRequest = new FindProductRequest {
                Id = createResponseContent.Id
            };

            var findResponse = await Fixture.Api.Products.FindProductAsync(findRequest);

            Assert.Equal(HttpStatusCode.OK, findResponse.StatusCode);

            var findResponseContent = findResponse.Data;

            Assert.Equal(createResponseContent.Id, findResponseContent.Id);
            Assert.Equal(createRequest.Code, findResponseContent.Code);
            Assert.Equal(createRequest.Description, findResponseContent.Description);
            Assert.Equal(createRequest.UnitPrice, findResponseContent.UnitPrice);
        }
        /// <summary>
        /// FindProductByKey
        /// </summary>
        /// <param name="request">FindProductRequest</param>
        /// <returns>FindProductResponse</returns>
        public async Task <FindProductResponse> FindProductByKey(FindProductRequest request)
        {
            var response = new FindProductResponse();

            try
            {
                var param = new FindProductParameter()
                {
                    key = request.key
                };

                var result = _dataAccess.FindProduct(param);
                if (result != null)
                {
                    response.ListProduct = MapList <FIND_PRODUCT_Result, FindProductDto>(result.ToList());
                    response.Success     = true;
                }
            }
            catch (Exception ex)
            {
                response.Success = false;
            }
            return(await Task.FromResult(response));
        }
Esempio n. 10
0
 public Task <FindProductResponse> FindProductAsync(FindProductRequest request)
 {
     return(HandleAsync <FindProductRequest, FindProductResponse>(request));
 }
Esempio n. 11
0
 public Task <FindProductResponse> FindProductAsync(FindProductRequest request)
 {
     return(ExecuteAsync(e => e.FindProductAsync(request)));
 }
Esempio n. 12
0
        public Task <IObjectClientResponse <FindProductResponse> > FindProductAsync(FindProductRequest request)
        {
            var id = request.Id;

            return(Client.GetByIdAsync <int, FindProductResponse>(id));
        }
        public IHttpActionResult FindProduct(FindProductRequest RequestData)
        {
            var result = _businessLogic.FindProductByKey(RequestData);

            return(new ActionResult <FindProductResponse>(result.Result, Request));
        }