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

            _addPsiSchoolModel = new AddPsiSchoolModel
            {
                SchoolId         = Id,
                Name             = "TestSchool",
                StreetNumberName = "1209",
                City             = "City",
                State            = "State",
                ZipCode          = "78979",
                GradeLevels      = new List <string>
                {
                    "First Grade"
                }
            };
        }
Esempio n. 2
0
        public void When_Perform_Post_Request_To_AddPsiSchool_Return_Expected_Success_response()
        {
            // Arrange
            var addPsiSchoolModel = new AddPsiSchoolModel
            {
                City = "city"
            };

            _mockMapper.Setup(x => x.Map <PsiSchool>(It.IsAny <AddPsiSchoolModel>()))
            .Returns(new PsiSchool());
            _mockOdsApiFacade.Setup(x => x.AddPsiSchool(It.IsAny <PsiSchool>())).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.AddPsiSchool(addPsiSchoolModel).Result as ContentResult;

            // Assert
            result.ShouldNotBeNull();
            result.Content.ShouldContain("School Added");
        }
        public async Task <ActionResult> AddPsiSchool(AddPsiSchoolModel viewModel)
        {
            var apiFacade = await _odsApiFacadeFactory.Create();

            var schoolId = viewModel.SchoolId;

            if (schoolId != null)
            {
                if (ProposedEducationOrganizationIdIsInUse(schoolId.Value, apiFacade))
                {
                    return(ValidationFailureResult(
                               "SchoolId",
                               "This 'School ID' is already associated with another " +
                               "Education Organization. Please provide a unique value."));
                }
            }

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

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

            return(addResult.Success ? JsonSuccess("School Added") : JsonError(addResult.ErrorMessage));
        }