public async Task <ImmunisationStatusViewModel> Get(string accessToken) { UserInfo userInfo = await _userInfoService.Get(accessToken); var model = _mapper.Map <ImmunisationStatusViewModel>(userInfo); if (string.IsNullOrEmpty(userInfo.NhsNumber)) { return(model); } ImmunisationStatusResponse immunisationStatus = await _immunisationStatusRepository.Get(userInfo.NhsNumber); return(_mapper.Map(immunisationStatus, model)); }
public void Map_ImmunisationStatusResponseToViewModel_ReturnsExpected() { var mockConfigurationSection = new Mock <IConfigurationSection>(); mockConfigurationSection.Setup(cfg => cfg["39326911000001101"]) .Returns("Moderna"); var mockConfiguration = new Mock <IConfiguration>(); mockConfiguration.Setup(cfg => cfg.GetSection("CovidVaccineTypes")) .Returns(mockConfigurationSection.Object); var mapper = new Mapper( new MapperConfiguration( cfg => cfg.AddProfile(new AppProfile(mockConfiguration.Object)))); var immunisationStatusResponse = new ImmunisationStatusResponse { CovidEligible = true, CovidVaccineTypes = new[] { "39114911000001105", "39115611000001103", "39326911000001101" }, Immunisations = new Dictionary <string, string> { { "mostRecentFluVaccineAdministeredDate", "2020-11-15" }, { "mostRecentCovidVaccineDose1AdministeredDate", "2021-01-08" }, { "mostRecentCovidVaccineDose1AdministeredType", "39326911000001101" }, { "mostRecentCovidVaccineDose2AdministeredDate", "2021-01-31" } } }; var immunisationStatusViewModel = mapper.Map <ImmunisationStatusViewModel>(immunisationStatusResponse); Assert.Pass(); }