public void Init() { _mockOdsApiFacade = new Mock <IOdsApiFacade>(); _addPostSecondaryInstitutionModel = new AddPostSecondaryInstitutionModel { PostSecondaryInstitutionId = Id, Name = "TestPsi", StreetNumberName = "1209", City = "City", State = "State", ZipCode = "78979" }; }
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)); }