public TreatmentEventMapperTest()
        {
            _context = SetupTestContext();
            _referenceDataRepository = new ReferenceDataRepository(_context);
            _adOptionMock.Setup(s => s.CurrentValue).Returns(new AdOptions {
                ReadOnlyUserGroup = "TestReadOnly"
            });
            var userRepo      = new UserRepository(_context, _adOptionMock.Object);
            var migrationRepo = new Mock <IMigrationRepository>();

            migrationRepo.Setup(mr => mr.GetLegacyUserByUsername(It.IsAny <string>()))
            .Returns((string username) => Task.FromResult(_usernameToLegacyUserDict[username]));
            migrationRepo.Setup(repo => repo.GetLegacyUserHospitalsByUsername(It.IsAny <string>()))
            .ReturnsAsync((string username) => new List <MigrationLegacyUserHospital>());
            var importLogger = new Mock <IImportLogger>();

            _caseManagerImportService =
                new CaseManagerImportService(userRepo, _referenceDataRepository, migrationRepo.Object, importLogger.Object);
            _treatmentEventMapper = new TreatmentEventMapper(_caseManagerImportService, _referenceDataRepository);
        }
Exemple #2
0
        public NotificationMapperTest()
        {
            _caseManagerImportService
            .Setup(serv => serv.ImportOrUpdateLegacyUser(It.IsAny <string>(), It.IsAny <PerformContext>(), It.IsAny <int>()))
            .Returns(() => Task.CompletedTask);
            _referenceDataRepositoryMock.Setup(repo => repo.GetUserByUsernameAsync(It.IsAny <string>()))
            .Returns((string username) => Task.FromResult(_usernameToUserDict[username]));
            _referenceDataRepositoryMock.Setup(repo => repo.GetTbServiceFromHospitalIdAsync(It.IsAny <Guid>()))
            .Returns((Guid guid) => Task.FromResult(_hospitalToTbServiceCodeDict[guid]));
            _referenceDataRepositoryMock.Setup(repo => repo.GetAllTbServicesAsync())
            .Returns(() => Task.FromResult <IList <TBService> >(new List <TBService> {
                new TBService {
                    Code = WestonGeneralCode, PHECCode = PhecResult
                }
            }));
            _referenceDataRepositoryMock.Setup(repo =>
                                               repo.GetAllTreatmentOutcomes())
            .ReturnsAsync(ntbs_service.Models.SeedData.TreatmentOutcomes.GetTreatmentOutcomes().ToList);
            _referenceDataRepositoryMock.Setup(repo =>
                                               repo.GetTreatmentOutcomeForTypeAndSubType(It.IsAny <TreatmentOutcomeType>(), It.IsAny <TreatmentOutcomeSubType>()))
            .ReturnsAsync(ntbs_service.Models.SeedData.TreatmentOutcomes.GetTreatmentOutcomes()
                          .FirstOrDefault(o => o.TreatmentOutcomeType == TreatmentOutcomeType.Died && o.TreatmentOutcomeSubType == TreatmentOutcomeSubType.Unknown));
            _postcodeService.Setup(service => service.FindPostcodeAsync(It.IsAny <string>()))
            .ReturnsAsync((string postcode) => new PostcodeLookup {
                Postcode = postcode.Replace(" ", "").ToUpper()
            });

            // Needs to happen after the mocking, as the constructor uses a method from reference data repo
            _treatmentEventMapper =
                new TreatmentEventMapper(_caseManagerImportService.Object, _referenceDataRepositoryMock.Object);
            _notificationMapper = new NotificationMapper(
                _migrationRepository,
                _referenceDataRepositoryMock.Object,
                _importLoggerMock.Object,
                _postcodeService.Object,
                _caseManagerImportService.Object,
                _treatmentEventMapper);
            _importValidator = new ImportValidator(_importLoggerMock.Object, _referenceDataRepositoryMock.Object);
        }