Beispiel #1
0
        public async Task <IActionResult> CreateProjectDataModel(int projectId, CreateProjectDataModelDto newProjectDataModel)
        {
            _logger.LogInformation("Getting data models for project {projectId}. Request body: {@newProjectDataModel}", projectId, newProjectDataModel);

            try
            {
                var modelId = await _projectDataModelService.AddProjectDataModel(projectId,
                                                                                 newProjectDataModel.Name, newProjectDataModel.Description, newProjectDataModel.Label, newProjectDataModel.IsManaged, newProjectDataModel.SelectKey);

                var projectDataModel = await _projectDataModelService.GetProjectDataModelById(modelId);

                var result = _mapper.Map <ProjectDataModelDto>(projectDataModel);

                return(CreatedAtRoute("GetProjectDataModelById", new
                {
                    projectId,
                    modelId
                }, result));
            }
            catch (DuplicateProjectDataModelException dupEx)
            {
                return(BadRequest(dupEx.Message));
            }
            catch (ProjectNotFoundException projEx)
            {
                return(BadRequest(projEx.Message));
            }
        }
Beispiel #2
0
        public async void CreateProjectDataModel_ReturnsCreatedProjectDataModel()
        {
            _projectDataModelService
            .Setup(s => s.AddProjectDataModel(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool?>(), It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(1);
            _projectDataModelService.Setup(s => s.GetProjectDataModelById(It.IsAny <int>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync((int id, CancellationToken cancellationToken) =>
                          new ProjectDataModel
            {
                Id   = id,
                Name = "Product"
            });

            var controller = new ProjectDataModelController(_projectDataModelService.Object, _mapper, _logger.Object);

            var dto = new CreateProjectDataModelDto
            {
                Name = "Product"
            };
            var result = await controller.CreateProjectDataModel(1, dto);

            var okActionResult = Assert.IsType <CreatedAtRouteResult>(result);
            var returnValue    = Assert.IsType <ProjectDataModelDto>(okActionResult.Value);

            Assert.Equal(1, returnValue.Id);
        }
        public async Task <ProjectDataModelDto> CreateProjectDataModel(int projectId, CreateProjectDataModelDto dto)
        {
            var path = $"project/{projectId}/model";

            return(await Api.Post <CreateProjectDataModelDto, ProjectDataModelDto>(path, dto));
        }