public void DocumentUpdateDtoProperlyReversedToDocumentUpdate() { DocumentUpdateDto upDto1 = new DocumentUpdateDto { Id = 1, DocumentId = 1, IsPublished = true, LatestTopicsUpdated = "This is the first version of the document.", Timestamp = DateTime.Today }; DocumentUpdate up1 = new DocumentUpdate { Id = 1, DocumentId = 1, IsPublished = true, LatestTopicsUpdated = "This is the first version of the document.", Timestamp = DateTime.Today }; DocumentUpdate a2 = _mapper.Map <DocumentUpdate>(upDto1); Assert.NotNull(a2); Assert.True(up1.Equals(a2)); Assert.True(up1.Equals(a2, true)); }
public bool UpdateDocument(int id, DocumentUpdateDto model) { var documentToUpdate = _context.Documents.Find(id); documentToUpdate.Title = model.Title; documentToUpdate.Content = model.Content; documentToUpdate.Language = model.Language; documentToUpdate.ModifiedAt = DateTime.Now; _context.Documents.Update(documentToUpdate); return(_context.SaveChanges() == 1); }
public async void PostDocumentUpdateInexistantDocIdReturnsBadRequest() { using (var context = DbTestContext.GenerateContextWithData()) using (var controller = new DocumentsController(context, _mapper)) { DocumentUpdateDto a101 = GetTestDocumentUpdateDto(999, 101); var result = await controller.PostDocumentUpdate(999, a101); Assert.IsType <BadRequestObjectResult>(result); } }
public async void PostDocumentUpdateModelStateErrorReturnsBadRequest() { using (var context = DbTestContext.GenerateContextWithData()) using (var controller = new DocumentsController(context, _mapper)) { controller.ModelState.AddModelError("an error", "some error"); DocumentUpdateDto a101 = GetTestDocumentUpdateDto(4, 101); var result = await controller.PostDocumentUpdate(4, a101); Assert.IsType <BadRequestObjectResult>(result); } }
public async void PostDocumentUpdateCorrectDataCreatesDocumentUpdate() { using (var context = DbTestContext.GenerateContextWithData()) using (var controller = new DocumentsController(context, _mapper)) { DocumentUpdateDto a101 = GetTestDocumentUpdateDto(4, 11, true); var result = await controller.PostDocumentUpdate(4, a101); Assert.NotNull(result); var resultValue = Assert.IsType <CreatedAtActionResult>(result); } }
public async void DeleteDocumentUpdateIdDeletesDocumentUpdate() { using (var context = DbTestContext.GenerateContextWithData()) using (var controller = new DocumentsController(context, _mapper)) { DocumentUpdate dup = context.DocumentUpdates.AsNoTracking().Last(); var result = await controller.DeleteDocumentUpdate(dup.DocumentId, dup.Id); DocumentUpdateDto a3 = _mapper.Map <DocumentUpdateDto>(dup); Assert.NotNull(result); var okObjectResult = Assert.IsType <OkObjectResult>(result); var resultValue = okObjectResult.Value; Assert.Equal(a3, resultValue); } }
public void DocumentUpdateEqualsReturnsCorrectValues() { DocumentUpdateDto up1 = new DocumentUpdateDto { Id = 1, DocumentId = 1, IsPublished = true, LatestTopicsUpdated = "This is the first version of the document.", Timestamp = DateTime.Today }; DocumentUpdateDto up2 = new DocumentUpdateDto { Id = 1, DocumentId = 1, IsPublished = true, LatestTopicsUpdated = "This is the first version of the document.", Timestamp = DateTime.Today }; DocumentUpdateDto up3 = new DocumentUpdateDto { Id = 3, DocumentId = 2, IsPublished = false, LatestTopicsUpdated = "This is the second version of the document.", Timestamp = DateTime.Today.AddDays(1) }; DocumentUpdateDto up4 = new DocumentUpdateDto { Id = 1, DocumentId = 2, IsPublished = false, LatestTopicsUpdated = "This is the second version of the document.", Timestamp = DateTime.Today.AddDays(1) }; Assert.True(up1.Equals(up2)); Assert.True(up1.Equals(up2, true)); Assert.False(up1.Equals(up3)); Assert.False(up1.Equals(up3, true)); Assert.True(up1.Equals(up4)); Assert.False(up1.Equals(up4, true)); }
public ActionResult Update(int id, [FromBody] DocumentUpdateDto document) { // DocumentService.Update() NEEDS the former values and is // on the client to provide the old values and new ones var queriedDocument = _documentService.GetDocumentById(id); if (queriedDocument.OwnerId != int.Parse(User.Identity.Name)) { return(Unauthorized()); } var response = _documentService.UpdateDocument(id, document); if (response) { return(Ok()); } return(NotFound()); }
public async void GetDocumentUpdatesReturnsListOfUpdates() { using (var context = DbTestContext.GenerateContextWithData()) using (var controller = new DocumentsInternalController(context, _mapper)) { var result = await controller.GetDocumentUpdates(4); DocumentUpdateDto upTest = _mapper.Map <DocumentUpdateDto>(context.DocumentUpdates.Last(u => u.DocumentId == 4)); Assert.NotNull(result); var okObjectResult = Assert.IsType <OkObjectResult>(result); var resultValue = okObjectResult.Value; Assert.IsAssignableFrom <IEnumerable <DocumentUpdateDto> >(resultValue); Assert.NotEmpty((IEnumerable <DocumentUpdateDto>)resultValue); IEnumerable <DocumentUpdateDto> resultValueList = (IEnumerable <DocumentUpdateDto>)resultValue; Assert.True(resultValueList.Count().Equals(10)); DocumentUpdateDto up = resultValueList.Single(u => u.Id == upTest.Id); Assert.True(upTest.Equals(up)); Assert.True(upTest.Equals(up, true)); } }
public async Task <IActionResult> PostDocumentUpdate([FromRoute] int documentId, [FromBody] DocumentUpdateDto documentUpdate) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (documentId != documentUpdate.DocumentId) { ModelState.AddModelError("Invalid Document ID", "The Document ID supplied in the query and the body of the request do not match."); return(BadRequest(ModelState)); } if (!DocumentExists(documentId)) { ModelState.AddModelError("Invalid Document ID", "The Document ID supplied in the does not match an existing document."); return(BadRequest(ModelState)); } if (documentUpdate.Timestamp.Year == 1) { documentUpdate.Timestamp = DateTime.UtcNow; } DocumentUpdate reversedUpdate = _mapper.Map <DocumentUpdate>(documentUpdate); _context.DocumentUpdates.Add(reversedUpdate); try { await _context.SaveChangesAsync(); } catch (Exception xpc) { ModelState.AddModelError("Error", xpc.ToString()); return(BadRequest(ModelState)); } return(CreatedAtAction("GetDocumentUpdate", new { documentId = reversedUpdate.DocumentId, updateId = reversedUpdate.Id }, _mapper.Map <DocumentUpdateDto>(reversedUpdate))); }
public async Task <IActionResult> PutDocumentUpdate([FromRoute] int documentId, [FromRoute] int updateId, [FromBody] DocumentUpdateDto documentUpdate) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (updateId != documentUpdate.Id) { ModelState.AddModelError("Invalid Update ID", "The Update ID supplied in the query and the body of the request do not match."); return(BadRequest(ModelState)); } if (documentId != documentUpdate.DocumentId) { ModelState.AddModelError("Invalid Document ID", "The Document ID supplied in the query and the body of the request do not match."); return(BadRequest(ModelState)); } if (!DocumentExists(documentId)) { ModelState.AddModelError("Invalid Document ID", "The Document ID supplied in the does not match an existing document."); return(BadRequest(ModelState)); } var documentUpdateReversed = _mapper.Map <DocumentUpdate>(documentUpdate); _context.Entry(documentUpdateReversed).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException xcp) { if (!DocumentUpdateExists(updateId)) { return(NotFound()); } else { ModelState.AddModelError("Error", xcp.ToString()); return(BadRequest(ModelState)); } } return(NoContent()); }
public bool UpdateDocument(int id, DocumentUpdateDto model) { return(true); }