Пример #1
0
        public void CreateConcept_Returns_404_When_Service_Returns_Null()
        {
            A.CallTo(() => _service.CreateConcept(A <CreateConceptDto> ._, A <UserInfo> ._)).Returns(null);
            var result = _controller.CreateConcept(_createConcept);
            var status = result.Result.Result as NotFoundResult;

            Assert.Equal((int)HttpStatusCode.NotFound, status.StatusCode);
        }
Пример #2
0
        public void CreateConcept_Returns_Null_Data_When_RepoInsert_Throws_Exception()
        {
            A.CallTo(() => ConceptRepository.Insert(A <Concept> ._)).Throws <Exception>();

            var mockConcept = Mock.MockCreateOrUpdateConcept();

            var viewModel = Service.CreateConcept(mockConcept, _userInfo);

            Assert.Null(viewModel.Data);
        }
Пример #3
0
        public async Task <ActionResult <Response> > CreateConcept([Required][FromBody] CreateConceptDto concept)
        {
            if (concept == null)
            {
                var errors = new ModelStateDictionary();
                errors.TryAddModelError("errorMessage", "Concept is required");
                return(BadRequest(new ModelStateErrorResponse(errors)));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(new ModelStateErrorResponse(ModelState)));
            }

            UserInfo userInfo;

            try
            {
                userInfo = await _tokenHelper.GetUserInfo();
            }
            catch
            {
                return(Unauthorized());
            }

            var viewModel = _service.CreateConcept(concept, userInfo);

            if (viewModel == null)
            {
                return(NotFound());
            }

            if (viewModel.Data != null)
            {
                return(Ok(viewModel));
            }

            if (viewModel.HasErrors())
            {
                return(BadRequest(viewModel));
            }

            return(InternalServerError());
        }