public void Arrange() { var fixture = new Fixture(); _standard = fixture.Create <StandardsView>(); _frameworks = fixture.Create <FrameworksView>(); _service = new Mock <IApprenticeshipInfoService>(); _service.Setup(x => x.GetStandards(false)).ReturnsAsync(_standard); _service.Setup(x => x.GetFrameworks(false)).ReturnsAsync(_frameworks); _handler = new GetAllTrainingProgrammesQueryHandler(_service.Object); }
public async Task Then_The_Frameworks_Are_Retrieved_From_The_Api_And_Added_To_Cached() { //Arrange var apiResponse = new GetFrameworksResponse { Frameworks = new List<FrameworkResponseItem> { new FrameworkResponseItem { Id = "123", FrameworkName = "test", PathwayName = "test", Title = "test" } } }; FrameworksView returnData = null; _apiClient.Setup(x => x.Get<GetFrameworksResponse>(It.IsAny<GetFrameworksRequest>())) .ReturnsAsync(apiResponse); _cache.Setup(x => x.Exists("Frameworks")).Returns(false); _cache.Setup(x => x.Set("Frameworks", It.IsAny<FrameworksView>())).Callback<string,object>( (key, value) => { returnData = value as FrameworksView; }); //Act await _service.GetFrameworksAsync(); //Assert _apiClient.Verify(x=>x.Get<GetFrameworksResponse>(It.IsAny<GetFrameworksRequest>()),Times.Once); returnData.Frameworks.Count.Should().Be(apiResponse.Frameworks.Count); returnData.Frameworks.ToList().First().ShouldBeEquivalentTo(apiResponse.Frameworks.First(), options=> options .Excluding(c=>c.Title) .Excluding(c=>c.ProgrammeType) ); }
public async Task Then_Frameworks_Retrieved_From_Cache_If_Cached() { //Arrange var cacheData = new FrameworksView { Frameworks = new List<Framework> { new Framework { Id = "123" } } }; _cache.Setup(x => x.Exists("Frameworks")).Returns(true); _cache.Setup(x => x.Get<FrameworksView>("Frameworks")).Returns(cacheData); //Act var actual = await _service.GetFrameworksAsync(); //Assert _apiClient.Verify(x=>x.Get<GetFrameworksResponse>(It.IsAny<GetFrameworksRequest>()),Times.Never); actual.ShouldBeEquivalentTo(cacheData); }