public void UpdateDocument_ReturnUpdateItem_WhenStateIsValid() { //Arrange var dbContext = new DocumentDbContext(); dbContext.Categories = GetQueryableMockDbSetCategory(); dbContext.Documents = GetQueryableMockDbSetDocument(); var categoryRepo = new CategoryRepo(string.Empty, dbContext); var documentRepo = new DocumentRepo(string.Empty, dbContext); var controller = new DocumentController(categoryRepo, documentRepo); UpdateDocumentModel updateDocumentModel = new UpdateDocumentModel { Id = 1, Title = "Đời sống con người", Description = "Nói về đời sống con người", CategoryId = 1, Cover = "", PublishYear = 2013 }; //Act var result = controller.UpdateDocument(updateDocumentModel); //Assert Assert.IsType <OkObjectResult>(result); var okObjectResult = result as OkObjectResult; Assert.IsType <Document>(okObjectResult.Value); var documentObject = okObjectResult.Value as Document; Assert.Equal(updateDocumentModel.Id, documentObject.Id); Assert.Equal(updateDocumentModel.Title, documentObject.Title); Assert.Equal(updateDocumentModel.Description, documentObject.Description); Assert.Equal(updateDocumentModel.CategoryId, documentObject.CategoryId); Assert.Equal(updateDocumentModel.Cover, documentObject.Cover); Assert.Equal(updateDocumentModel.PublishYear, documentObject.PublishYear); }
public async Task <IActionResult> Update([FromBody] UpdateDocumentModel model) { return(await ProcessAsync(async() => { var document = new DocumentModel { Id = model.Id, Title = model.Title, Description = model.Description, TypeId = model.TypeId, Restricted = model.Restricted }; await _documentService.Update(document); return Ok("Document updated successfully."); })); }
public async Task <IActionResult> UpdateDocument([FromBody] UpdateDocumentModel model) { try { if (await CanAccessDocument(model.Id, true)) { await _documentService.UpdateDocument(model); return(Ok()); } return(PermissionError()); } catch (Exception e) { return(HandleException(e)); } }
public async Task <IActionResult> UpdateDocument([FromBody] UpdateDocumentRequest request) { var updateDocumentResponse = new UpdateDocumentResponse(); if (request.File == null || request.File.Length <= 0) { return(new BadRequestObjectResult(new { Message = "Requested file can not be empty." })); } var filePath = Path.GetTempFileName(); var fileName = Path.GetFileName(filePath); if (!FileTypes.IsValidContentType(fileName)) { ModelState.AddModelError(fileName, "File Type Not Supported. Only Word, Pdf, Jpg and Png file types uploadable."); } if (request.File.Length > 1048576) { ModelState.AddModelError(fileName, "Maximum File size of 1 Mb exceeded."); } if (ModelState.Values.Sum(c => c.Errors.Count) > 0) { updateDocumentResponse.HandleValidation(ModelState); return(Ok(updateDocumentResponse)); } var updateModel = new UpdateDocumentModel { DocumentId = request.DocumentId, ProjectId = request.ProjectId, DocumentTypeId = request.DocumentTypeId, TagId = request.TagId, UploadedFile = new FileModel { Content = request.File.OpenReadStream(), Name = fileName } }; var commandHandlerResponse = await _mediator.Send(updateModel); updateDocumentResponse.HandleSuccess(commandHandlerResponse); return(Ok(updateDocumentResponse)); }
public IActionResult UpdateDocument([FromBody] UpdateDocumentModel updateDocumentModel) { //1. Validate Model if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //2. Check document exist var currentDocument = _documentRepo.GetDocument(updateDocumentModel.Id); if (currentDocument == null) { return(NotFound("DocumentNotExist")); } //3. Check category exist if (updateDocumentModel.CategoryId.HasValue) { var currentCategory = _categoryRepo.GetCategory(updateDocumentModel.CategoryId.Value); if (currentCategory == null) { return(NotFound("CategoryNotExist")); } } //4. Update document Document updateDocument = new Document() { Id = updateDocumentModel.Id, CategoryId = updateDocumentModel.CategoryId, Title = updateDocumentModel.Title, Description = updateDocumentModel.Description, Cover = updateDocumentModel.Cover, PublishYear = updateDocumentModel.PublishYear }; var response = _documentRepo.UpdateDocument(updateDocument); return(Ok(response)); }
public void UpdateDocument_ReturnNotFoundResult_WhenCategoryNotFound() { //Arrange var dbContext = new DocumentDbContext(); dbContext.Categories = GetQueryableMockDbSetCategory(); dbContext.Documents = GetQueryableMockDbSetDocument(); var categoryRepo = new CategoryRepo(string.Empty, dbContext); var documentRepo = new DocumentRepo(string.Empty, dbContext); var controller = new DocumentController(categoryRepo, documentRepo); UpdateDocumentModel updateDocumentModel = new UpdateDocumentModel { Id = 1, Title = "Đời sống con người", Description = "Nói về đời sống con người", CategoryId = 3, Cover = "", PublishYear = 2013 }; //Act var result = controller.UpdateDocument(updateDocumentModel); //Assert Assert.IsType <NotFoundObjectResult>(result); }