public async void GetAcademyById_OkResult_Empty_ReturnsCorrectResult() { //Arrange var academyId = Guid.Parse("a16e9020-9123-4420-8055-851d1b672fb1"); var returnedEntities = new GetAcademiesD365Model { Id = academyId }; var json = JsonConvert.SerializeObject(returnedEntities); 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.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.Null(result.Result); }
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 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 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 <AcademiesRepository> >(); var mockUrlBuilder = new Mock <IOdataUrlBuilder <GetAcademiesD365Model> >(); mockUrlBuilder.Setup(m => m.BuildRetrieveOneUrl("accounts", It.IsAny <Guid>())) .Returns("/accounts(a16e9020-9123-4420-8055-851d1b672fb1)"); var academiesRepository = new AcademiesRepository(mockClient.Object, mockUrlBuilder.Object, mockedLogger.Object); //Execute var result = await academiesRepository.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 void GetAcademiesD365ModelToGetAcademiesModelMapperTest() { var academiesD365Model = new GetAcademiesD365Model { Id = Guid.Parse("4EEAEE65-9A3E-E911-A828-000D3A385A1C"), ParentTrustId = Guid.Parse("81014326-5D51-E911-A82E-000D3A385A17"), AcademyName = "Academy Name", Address = "Address 1", DioceseName = "Dicoese Name", EstablishmentType = "Academy Converter", LocalAuthorityName = "Local Authority", LocalAuthorityNumber = "424242", OfstedInspectionDate = new DateTime(2020, 01, 01), OftstedRating = "Good", Predecessor = new GetAcademiesD365Model.PredecessorEstablishment { Pfi = "No" }, ReligiousCharacter = "Does not apply", ReligiousEthos = "Ethos does not apply", StateCode = 1, StatusCode = 3, Urn = "4242" }; var mapper = new GetAcademiesResponseMapper(new EstablishmentNameFormatter()); var result = mapper.Map(academiesD365Model); Assert.NotNull(result); Assert.Equal(Guid.Parse("4EEAEE65-9A3E-E911-A828-000D3A385A1C"), result.Id); Assert.Equal(Guid.Parse("81014326-5D51-E911-A82E-000D3A385A17"), result.ParentTrustId); Assert.Equal("Academy Name", result.AcademyName); Assert.Equal("Address 1", result.Address); Assert.Equal("Dicoese Name", result.DioceseName); Assert.Equal("Academy Converter", result.EstablishmentType); Assert.Equal("Local Authority", result.LocalAuthorityName); Assert.Equal("424242", result.LocalAuthorityNumber); Assert.Equal(new DateTime(2020, 01, 01), result.OfstedInspectionDate); Assert.Equal("Good", result.OfstedRating); Assert.Equal("No", result.Pfi); Assert.Equal("Does not apply", result.ReligiousCharacter); Assert.Equal("Ethos does not apply", result.ReligiousEthos); Assert.Equal("4242", result.Urn); }