예제 #1
0
        public void GetTrustD365ModelToGetTrustModelMapperTest()
        {
            var d365Model = new GetTrustsD365Model
            {
                Address = "Address 1",
                CompaniesHouseNumber   = "Company House Number",
                EstablishmentType      = "Multi-academy Trust",
                EstablishmentTypeGroup = "Establishment Group",
                Id                   = Guid.Parse("81014326-5D51-E911-A82E-000D3A385A17"),
                TrustName            = "Trust Name",
                TrustReferenceNumber = "TR424242",
                Ukprn                = "4242",
                Upin                 = "42424",
            };

            var mapper = new GetTrustsReponseMapper(new EstablishmentNameFormatter());

            var result = mapper.Map(d365Model);

            Assert.NotNull(result);
            Assert.Equal("Address 1", result.Address);
            Assert.Equal("Company House Number", result.CompaniesHouseNumber);
            Assert.Equal("Multi-academy Trust", result.EstablishmentType);
            Assert.Equal("Establishment Group", result.EstablishmentTypeGroup);
            Assert.Equal(Guid.Parse("81014326-5D51-E911-A82E-000D3A385A17"), result.Id);
            Assert.Equal("Trust Name", result.TrustName);
            Assert.Equal("TR424242", result.TrustReferenceNumber);
            Assert.Equal("4242", result.Ukprn);
            Assert.Equal("42424", result.Upin);
        }
예제 #2
0
        public async void GetTrustById_OkResult_IncorrectEstablishmentType_ReturnsCorrectResult()
        {
            //Arrange
            var trustId = Guid.Parse("a16e9020-9123-4420-8055-851d1b672fb1");

            var returnedEntity = new GetTrustsD365Model
            {
                EstablishmentTypeId = Guid.Parse("a16e9020-9123-4420-8055-851d1b672fb1")
            };
            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)");

            //Execute
            var result = await _subject.GetTrustById(trustId);

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

            Assert.True(result.IsValid);
            Assert.Null(result.Result);
        }
        public async void GetTrustById_OkResult_CorrectEstablishmentType_ReturnsCorrectResult()
        {
            //Arrange
            var trustId = Guid.Parse("a16e9020-9123-4420-8055-851d1b672fb1");

            var returnedEntity = new GetTrustsD365Model
            {
                EstablishmentTypeId  = Guid.Parse("81014326-5D51-E911-A82E-000D3A385A17"),
                TrustName            = "Some Trust",
                TrustReferenceNumber = "TR100001"
            };
            var json = JsonConvert.SerializeObject(returnedEntity);
            HttpResponseMessage httpResponse = new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(json, Encoding.UTF8, "application/json")
            };

            var mockClient = new Mock <IAuthenticatedHttpClient>();

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

            var mockedLogger = new Mock <ILogger <TrustsRepository> >();

            var mockUrlBuilder = new Mock <IOdataUrlBuilder <GetTrustsD365Model> >();

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

            var mockSanitizer = new Mock <IODataSanitizer>();

            var academiesRepository = new TrustsRepository(mockClient.Object, mockUrlBuilder.Object, mockSanitizer.Object, mockedLogger.Object);

            //Execute
            var result = await academiesRepository.GetTrustById(trustId);

            //Assert
            mockUrlBuilder.Verify(m => m.BuildRetrieveOneUrl("accounts", trustId), 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("Some Trust", result.Result.TrustName);
            Assert.Equal("TR100001", result.Result.TrustReferenceNumber);
        }
예제 #4
0
        public async void GetTrustById_OkResult_CorrectEstablishmentType_ReturnsCorrectResult()
        {
            //Arrange
            var trustId = Guid.Parse("a16e9020-9123-4420-8055-851d1b672fb1");

            var returnedEntity = new GetTrustsD365Model
            {
                EstablishmentTypeId  = Guid.Parse("81014326-5D51-E911-A82E-000D3A385A17"),
                TrustName            = "Some Trust",
                TrustReferenceNumber = "TR100001"
            };
            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)");

            _getTrustMapper.Setup(m => m.Map(It.IsAny <GetTrustsD365Model>())).Returns(new GetTrustsModel
            {
                TrustName            = "Mapped Trust",
                TrustReferenceNumber = "Mapped TR100001"
            });

            //Execute
            var result = await _subject.GetTrustById(trustId);

            //Assert
            _mockUrlBuilder.Verify(m => m.BuildRetrieveOneUrl("accounts", trustId), 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("Mapped Trust", result.Result.TrustName);
            Assert.Equal("Mapped TR100001", result.Result.TrustReferenceNumber);
        }