public async Task ensureAddProductCategoryReturnsBadRequestIfCategoryDoesNotHaveName() { AddProductCategoryModelView addCategoryMV = new AddProductCategoryModelView(); var response = await client.PostAsJsonAsync(baseUrl, addCategoryMV); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); }
public async Task ensureAddProductCategoryReturnsBadRequestIfDTOIsNull() { AddProductCategoryModelView addCategoryMV = null; var response = await client.PostAsJsonAsync(baseUrl, addCategoryMV); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); }
public async Task <GetProductCategoryModelView> ensureAddProductCategoryReturnsCreatedIfCategoryWasAddedSuccessfully() { AddProductCategoryModelView addCategoryMV = new AddProductCategoryModelView() { name = "Drawers" + Guid.NewGuid().ToString("n") }; var response = await client.PostAsJsonAsync(baseUrl, addCategoryMV); Assert.Equal(HttpStatusCode.Created, response.StatusCode); return(JsonConvert.DeserializeObject <GetProductCategoryModelView>(await response.Content.ReadAsStringAsync())); }
public async Task ensureGetProductCategoryByNameReturnsOkIfCategoryExists() { string categoryName = "Shelves" + Guid.NewGuid().ToString("n"); AddProductCategoryModelView addCategoryMV = new AddProductCategoryModelView() { name = categoryName }; var response = await client.PostAsJsonAsync(baseUrl, addCategoryMV); response = await client.GetAsync(string.Format("{0}?name={1}", baseUrl, categoryName)); Assert.Equal(HttpStatusCode.OK, response.StatusCode); }
/// <summary> /// Adds a new ProductCategory to the repository. /// </summary> /// <param name="modelView">ModelView containing ProductCategory information.</param> /// <returns>Returns the added ProductCategory's ModelView.</returns> public GetProductCategoryModelView addProductCategory(AddProductCategoryModelView modelView) { ProductCategoryRepository repository = PersistenceContext.repositories().createProductCategoryRepository(); ProductCategory category = new ProductCategory(modelView.name); category = repository.save(category); //category was not able to be added (probably due to a violation of business identifiers) if (category == null) { throw new ArgumentException(ERROR_UNABLE_TO_ADD_CATEGORY); } return(ProductCategoryModelViewService.fromEntity(category)); }
public ActionResult addSubProductCategory(long parentId, [FromBody] AddProductCategoryModelView modelView) { if (modelView == null) { return(BadRequest(new { error = ERROR_EMPTY_BODY })); } try { GetProductCategoryModelView createdCategory = new core.application .ProductCategoryController().addSubProductCategory(parentId, modelView); return(CreatedAtRoute("GetCategory", new { id = createdCategory.id }, createdCategory)); } catch (ArgumentException e) { return(BadRequest(new { error = e.Message })); } }
public async Task ensureAddProductCategoryReturnsCreatedCategoryDTOInBody() { string categoryName = "Drawers" + Guid.NewGuid().ToString("n"); AddProductCategoryModelView addCategoryMV = new AddProductCategoryModelView() { name = categoryName }; var response = await client.PostAsJsonAsync(baseUrl, addCategoryMV); GetProductCategoryModelView actual = await response.Content.ReadAsAsync <GetProductCategoryModelView>(); GetProductCategoryModelView expected = new GetProductCategoryModelView() { name = categoryName }; Assert.Equal(expected.name, actual.name); }