public void Init()
        {
            _mockOdsApiFacade = new Mock <IOdsApiFacade>();

            _addPostSecondaryInstitutionModel = new AddPostSecondaryInstitutionModel
            {
                PostSecondaryInstitutionId = Id,
                Name             = "TestPsi",
                StreetNumberName = "1209",
                City             = "City",
                State            = "State",
                ZipCode          = "78979"
            };
        }
Ejemplo n.º 2
0
        public void When_Perform_Post_Request_To_AddPostSecondaryInstitution_Return_Expected_Success_response()
        {
            // Arrange
            var addPostSecondaryInstitutionModel = new AddPostSecondaryInstitutionModel
            {
                City = "city"
            };

            _mockMapper.Setup(x => x.Map <PostSecondaryInstitution>(It.IsAny <AddPostSecondaryInstitutionModel>()))
            .Returns(new PostSecondaryInstitution());
            _mockOdsApiFacade.Setup(x => x.AddPostSecondaryInstitution(It.IsAny <PostSecondaryInstitution>())).Returns(new OdsApiResult());
            _mockOdsApiFacadeFactory.Setup(x => x.Create())
            .Returns(Task.FromResult(_mockOdsApiFacade.Object));
            _controller =
                new EducationOrganizationsController(_mockOdsApiFacadeFactory.Object, _mockMapper.Object, _mockInstanceContext.Object, _tabDisplayService.Object, _inferExtensionDetails);

            // Act
            var result = _controller.AddPostSecondaryInstitution(addPostSecondaryInstitutionModel).Result as ContentResult;

            // Assert
            result.ShouldNotBeNull();
            result.Content.ShouldContain("Post-Secondary Institution Added");
        }
        public async Task <ActionResult> AddPostSecondaryInstitution(AddPostSecondaryInstitutionModel viewModel)
        {
            var apiFacade = await _odsApiFacadeFactory.Create();

            var psiId = viewModel.PostSecondaryInstitutionId;

            if (psiId != null)
            {
                if (ProposedEducationOrganizationIdIsInUse(psiId.Value, apiFacade))
                {
                    return(ValidationFailureResult(
                               "PostSecondaryInstitutionId",
                               "This 'Post-Secondary Institution ID' is already associated with " +
                               "another Education Organization. Please provide a unique value."));
                }
            }

            var model = _mapper.Map <PostSecondaryInstitution>(viewModel);

            model.Id = Guid.Empty.ToString();
            var addResult = apiFacade.AddPostSecondaryInstitution(model);

            return(addResult.Success ? JsonSuccess("Post-Secondary Institution Added") : JsonError(addResult.ErrorMessage));
        }