public async void GetAcademyById_Ok_ParentIdSet_ReturnsCorrectResult()
        {
            var academyId = Guid.Parse("a16e9020-9123-4420-8055-851d1b672fb1");
            var trustId   = Guid.Parse("b16e9020-9123-4420-8055-851d1b672fb1");

            //Arrange
            var returnedEntity = new GetAcademiesD365Model
            {
                AcademyName   = "Some Academy",
                Id            = academyId,
                Urn           = "URN",
                ParentTrustId = trustId
            };

            var mappedEntity = new GetAcademiesModel
            {
                AcademyName   = "Some Academy",
                Id            = academyId,
                Urn           = "URN",
                ParentTrustId = trustId
            };

            var json = JsonConvert.SerializeObject(returnedEntity);
            HttpResponseMessage httpResponse = new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(json, Encoding.UTF8, "application/json")
            };

            _mockClient.Setup(m => m.GetAsync(It.IsAny <string>())).ReturnsAsync(httpResponse);

            _mockUrlBuilder.Setup(m => m.BuildRetrieveOneUrl("accounts", It.IsAny <Guid>()))
            .Returns("/accounts(a16e9020-9123-4420-8055-851d1b672fb1)");

            _365AcademiesMapper.Setup(m => m.Map(It.Is <GetAcademiesD365Model>(o => o.Id == returnedEntity.Id)))
            .Returns(mappedEntity);

            var result = await _subject.GetAcademyById(academyId);

            //Assert
            _mockUrlBuilder.Verify(m => m.BuildRetrieveOneUrl("accounts", academyId), Times.Once);
            _mockClient.Verify(m => m.GetAsync("/accounts(a16e9020-9123-4420-8055-851d1b672fb1)"), Times.Once);

            Assert.True(result.IsValid);
            Assert.NotNull(result.Result);
            Assert.Equal(academyId, result.Result.Id);
            Assert.Equal(trustId, result.Result.ParentTrustId);
            Assert.Equal("Some Academy", result.Result.AcademyName);
            Assert.Equal("URN", result.Result.Urn);
        }
            public IndexTests()
            {
                _projectId = Guid.NewGuid();
                var academyId = Guid.NewGuid();

                _foundProject = new GetProjectsResponseModel
                {
                    ProjectId        = _projectId,
                    ProjectAcademies = new List <GetProjectsAcademyResponseModel>
                    {
                        new GetProjectsAcademyResponseModel {
                            AcademyId = academyId
                        }
                    }
                };

                _foundDynamicsAcademy = new GetAcademiesModel
                {
                    Ukprn                = "FoundUKPRN",
                    EstablishmentType    = "Cat school",
                    OfstedInspectionDate = DateTime.Parse("2021-01-01")
                };

                _foundAcademy = new Academy
                {
                    Ukprn       = "ukprn",
                    Performance = new AcademyPerformance()
                };


                _projectRepository.Setup(r => r.GetProjectById(_projectId)).ReturnsAsync(
                    new RepositoryResult <GetProjectsResponseModel> {
                    Result = _foundProject
                });

                _dynamicsAcademiesRepository.Setup(r => r.GetAcademyById(academyId)).ReturnsAsync(
                    new RepositoryResult <GetAcademiesModel> {
                    Result = _foundDynamicsAcademy
                });

                _academiesRepository.Setup(r => r.GetAcademyByUkprn("FoundUKPRN"))
                .ReturnsAsync(new RepositoryResult <Academy> {
                    Result = _foundAcademy
                });
            }
Ejemplo n.º 3
0
            public IndexTests()
            {
                _projectId = Guid.NewGuid();
                var academyId = Guid.NewGuid();

                _foundProject = new GetProjectsResponseModel
                {
                    ProjectId        = _projectId,
                    ProjectAcademies = new List <GetProjectsAcademyResponseModel>
                    {
                        new GetProjectsAcademyResponseModel {
                            AcademyId = academyId
                        }
                    }
                };

                var foundDynamicsAcademy = new GetAcademiesModel
                {
                    Ukprn = "FoundUKPRN",
                };

                _foundAcademy = new Academy
                {
                    Ukprn       = "ukprn",
                    Performance = new AcademyPerformance()
                };


                _projectRepository.Setup(r => r.GetProjectById(_projectId)).ReturnsAsync(
                    new RepositoryResult <GetProjectsResponseModel> {
                    Result = _foundProject
                });

                _dynamicsAcademiesRepository.Setup(r => r.GetAcademyById(academyId)).ReturnsAsync(
                    new RepositoryResult <GetAcademiesModel> {
                    Result = foundDynamicsAcademy
                });

                _academiesRepository.Setup(r => r.GetAcademyByUkprn("FoundUKPRN"))
                .ReturnsAsync(new RepositoryResult <Academy> {
                    Result = _foundAcademy
                });
            }