Exemple #1
0
        public async Task WhenUpdatingExistingProduct_ThenReturnsOk()
        {
            CreateProduct             createModel    = ProductModels.GetCreateModel();
            ApiResponse <ViewProduct> createResponse = await _productApiClient.Create(createModel);

            Assert.That(createResponse.HttpStatusCode, Is.EqualTo(HttpStatusCode.Created));
            _productIdToDelete = createResponse.Response.Id;

            CreateProduct updateModel = ProductModels.GetCreateModel();

            updateModel.Name = "UpdatedName";
            updateModel.Code = "UpdatedCode";


            ApiResponse <ViewProduct> updateResponse = await _productApiClient.Update(updateModel, createResponse.Response.Id);

            Assert.That(updateResponse.HttpStatusCode, Is.EqualTo(HttpStatusCode.OK));


            ApiResponse <ProductDetailsResponse> getResponse = await _productApiClient.Get(createResponse.Response.Id);

            Assert.That(getResponse.Response.Product.Id, Is.EqualTo(createResponse.Response.Id));
            Assert.That(getResponse.Response.Product.Name, Is.EqualTo(updateModel.Name));
            Assert.That(getResponse.Response.Product.Code, Is.EqualTo(updateModel.Code));
        }
        public async Task <ApiResult <GetByIdListProduct> > Create([FromForm] ProductCreateContent bundle)
        {
            var proudct = new ProductCreate()
            {
                Code              = bundle.Code,
                Name              = bundle.Name,
                Description       = bundle.Description,
                IdProductType     = bundle.IdProductType,
                Max               = bundle.Max,
                Min               = bundle.Min,
                NamePack          = bundle.NamePack,
                NamePackDefault   = bundle.NamePackDefault,
                Reminder          = bundle.Reminder,
                ReminderEndDate   = bundle.ReminderEndDate,
                ReminderStartDate = bundle.ReminderStartDate,
                ValuePack         = bundle.ValuePack
            };
            var result = await _productApiClient.Create(proudct);

            if (bundle.Image != null)
            {
                var image = await _productApiClient.UpdateImage(result.ResultObj.Id, bundle.Image);

                result.ResultObj.Image = image.ResultObj;
            }
            return(result);
        }
        public async Task WhenDeletingExistingProduct_ThenNoContentIsReturned()
        {
            ApiResponse <ViewProduct> createResponse = await _productApiClient.Create(ProductModels.GetCreateModel());

            ApiResponse <Response> deleteResponse = await _productApiClient.Delete(createResponse.Response.Id);

            Assert.That(deleteResponse.HttpStatusCode, Is.EqualTo(HttpStatusCode.NoContent));
        }
        public async Task WhenExportingProducts_ThenFileIsReturned()
        {
            CreateProduct             upcreateModel  = ProductModels.GetCreateModel();
            ApiResponse <ViewProduct> createResponse = await _productApiClient.Create(upcreateModel);

            ApiResponse <FileExport> exportResponse = await _productApiClient.Export();

            Assert.That(exportResponse.HttpStatusCode, Is.EqualTo(HttpStatusCode.OK));
            Assert.That(exportResponse.Response.Bytes.Length, Is.GreaterThan(0));
            Assert.IsFalse(string.IsNullOrEmpty(exportResponse.Response.FileName));
            Assert.IsFalse(string.IsNullOrEmpty(exportResponse.Response.ContentType));

            _productIdToDelete = createResponse.Response.Id;
        }
        public async Task <IActionResult> Create(ProductCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var result = await _productApiClient.Create(request);

            if (result.IsSuccessed)
            {
                return(RedirectToAction("Index"));
            }
            return(View());
        }
Exemple #6
0
 public async Task<IActionResult> Create(ProductCreateRequest request)
 {
     if (!ModelState.IsValid)
     {
         return View(request);
     }
     request.LanguageId = GetLanguageId();
     var result = await _productApiClient.Create(request);
     if (result.IsSuccessed)
     {
         TempData["Result"] = "Tạo mới thành công";
         return RedirectToAction("Index", "Product");
     }
     ModelState.AddModelError("", result.Message);
     return View(request);
 }
Exemple #7
0
        public async Task <IActionResult> Create(ProductCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            var result = await _productApiClient.Create(request);

            if (result.IsSuccessed)
            {
                TempData["result"] = "Thêm mới sản phẩm thành công";
                return(RedirectToAction("Index"));
            }
            ModelState.AddModelError("", result.Message);

            return(View(request));
        }
Exemple #8
0
        public async Task WhenCreatingValidProduct_ThenCreatedIsReturned()
        {
            CreateProduct productModel = ProductModels.GetCreateModel();

            ApiResponse <ViewProduct> apiResponse = await _productApiClient.Create(productModel);

            Assert.That(apiResponse.HttpStatusCode, Is.EqualTo(HttpStatusCode.Created));
            Assert.That(apiResponse.Response.Code, Is.EqualTo(productModel.Code));
            Assert.That(apiResponse.Response.Name, Is.EqualTo(productModel.Name));
            Assert.That(apiResponse.Response.Price, Is.EqualTo(productModel.Price));
            Assert.That(apiResponse.Response.Photo.Content, Is.EqualTo(productModel.Photo.Content));
            Assert.That(apiResponse.Response.Photo.ContentType, Is.EqualTo(productModel.Photo.ContentType));
            Assert.That(apiResponse.Response.Photo.Title, Is.EqualTo(productModel.Photo.Title));

            _productIdToDelete = apiResponse.Response.Id;
        }
Exemple #9
0
        public async Task <IActionResult> Create(ProductEditModel product)
        {
            if (ModelState.IsValid)
            {
                if (!await IsCodeUnique(product))
                {
                    ModelState.AddModelError("code", "Code is not unique.");
                    return(View(product));
                }

                CreateProduct apiModel = _mapper.Map <CreateProduct>(product);
                if (product.Image != null)
                {
                    MapImageFile(product.Image, apiModel.Photo);
                }



                ApiResponse <ViewProduct> apiResponse = product.Id != default(int) ?
                                                        await _productApiClient.Update(apiModel, product.Id)
                    : await _productApiClient.Create(apiModel);

                if (apiResponse.HttpStatusCode != HttpStatusCode.OK && apiResponse.HttpStatusCode != HttpStatusCode.Created)
                {
                    foreach (var error in apiResponse.Response.Errors)
                    {
                        ModelState.AddModelError(error.Reason, error.Message);
                    }
                    return(View(product));
                }

                return(RedirectToAction("Index"));
            }

            return(View(product));
        }
Exemple #10
0
        public async Task Setup()
        {
            ApiResponse <ViewProduct> apiResponse = await _productApiClient.Create(productModel);

            _createdProductId = apiResponse.Response.Id;
        }