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));
        }
コード例 #2
0
        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);
        }