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)
     );
 }
Example #2
0
        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);
 }