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()); }
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); }
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)); }
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; }
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)); }
public async Task Setup() { ApiResponse <ViewProduct> apiResponse = await _productApiClient.Create(productModel); _createdProductId = apiResponse.Response.Id; }