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); }
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); }
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); }