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