public async Task Then_The_Standards_Are_Retrieved_From_The_Api_And_Added_To_Cached() { //Arrange StandardsView returnData = null; var apiResponse = new GetStandardsResponse { Standards = new List<StandardResponseItem> { new StandardResponseItem { Id = 1 } } }; _apiClient.Setup(x => x.Get<GetStandardsResponse>(It.IsAny<GetStandardsRequest>())) .ReturnsAsync(apiResponse); _cache.Setup(x => x.Exists("Standards")).Returns(false); _cache.Setup(x => x.Set("Standards", It.IsAny<StandardsView>())).Callback<string,object>( (key, value) => { returnData = value as StandardsView; }); //Act await _service.GetStandardsAsync(); //Assert _apiClient.Verify(x=>x.Get<GetStandardsResponse>(It.IsAny<GetStandardsRequest>()),Times.Once); returnData.Standards.Count.Should().Be(apiResponse.Standards.Count); returnData.Standards.ToList().First().ShouldBeEquivalentTo(apiResponse.Standards.First(), options=> options .Excluding(c=>c.Title) .Excluding(c=>c.Code) .Excluding(c=>c.CourseName) ); }
public void Arrange() { var fixture = new Fixture(); _standard = fixture.Create <StandardsView>(); _service = new Mock <IApprenticeshipInfoService>(); _service.Setup(x => x.GetStandards(false)).ReturnsAsync(_standard); _handler = new GetAllStandardTrainingProgrammesQueryHandler(_service.Object); }
public async Task Then_Standards_Retrieved_From_Cache_If_Cached() { //Arrange var cacheData = new StandardsView { Standards = new List<Standard> { new Standard { Code = 1 } } }; _cache.Setup(x => x.Exists("Standards")).Returns(true); _cache.Setup(x => x.Get<StandardsView>("Standards")).Returns(cacheData); //Act var actual = await _service.GetStandardsAsync(); //Assert _apiClient.Verify(x=>x.Get<GetStandardsResponse>(It.IsAny<GetStandardsRequest>()),Times.Never); actual.ShouldBeEquivalentTo(cacheData); }