public void update_process_controller_end_to_end_test(string processRef) { //arrange var dataToInsert = MatProcessDataHelper.CreateProcessDataObject(); dataToInsert.Id = processRef; _dbcontext.getCollection().InsertOne(BsonDocument.Parse(JsonConvert.SerializeObject(dataToInsert))); //fields to update var dataToUpdate = new MatUpdateProcessData(); dataToUpdate.DateLastModified = DateTime.Now; dataToUpdate.PreProcessData = new { randomField = "abc" }; var request = new UpdateProcessDataRequest() { processRef = processRef, processDataToUpdate = dataToUpdate }; //act var response = _processDataController.UpdateExistingProcessDocument(request); var okResult = (OkObjectResult)response; var updateProcessDataResponse = okResult.Value as UpdateProcessDataResponse; //assert Assert.IsInstanceOf <MatProcessData>(updateProcessDataResponse.UpdatedProcessData); Assert.AreEqual(processRef, updateProcessDataResponse.UpdatedProcessData.Id); Assert.AreEqual(dataToUpdate.DateLastModified.ToShortDateString(), updateProcessDataResponse.UpdatedProcessData.DateLastModified.ToShortDateString()); Assert.AreEqual(JsonConvert.SerializeObject(dataToUpdate.PreProcessData), JsonConvert.SerializeObject(updateProcessDataResponse.UpdatedProcessData.PreProcessData)); }
public void when_updateexistingprocessdocument_method_is_called_then_it_returns_a_success_response() { //arrange int expectedStatusCode = 200; var request = new UpdateProcessDataRequest() { processDataToUpdate = new MatUpdateProcessData() }; var response = new UpdateProcessDataResponse(request, new MatProcessData(), DateTime.Now); _mockValidatorUpdate.Setup(x => x.Validate(request)).Returns(new FV.ValidationResult()); _mockUsecase.Setup(x => x.ExecuteUpdate(request)).Returns(response); //act var controllerResponse = _processDataController.UpdateExistingProcessDocument(request); var okResult = (OkObjectResult)controllerResponse; var actualStatusCode = okResult.StatusCode; //assert Assert.NotNull(controllerResponse); Assert.NotNull(okResult); Assert.AreEqual(expectedStatusCode, actualStatusCode); }