public ServiceProvider BuildServices()
        {
            var services       = new ServiceCollection();
            var baseUrl        = "http://localhost:5000/";
            var configSettings = new Dictionary <string, string>()
            {
                { common.Constants.API_URL_CONFIG_KEY, baseUrl },
                { Constants.API.API_URL_CONFIG_KEY, baseUrl },
                { Integrations.Api.ProxyClient.Client.Constants.API_URL_CONFIG_KEY, baseUrl },
            };

            var configuration = new ConfigurationBuilder()
                                .AddInMemoryCollection(configSettings)
                                .Build();

            // Set up default services

            services.AddScoped <IConfiguration>(c => configuration);
            services.AddIocMapping();
            services.AddAutoMapper(AutoMapperSetup.Config);
            services.AddHttpClients(configuration);
            services.AddSharedServices();

            var userContext = new StaticUserContext(new UserContext {
                UserId = 81730
            });

            services.AddSingleton <ICurrentUserContext>(userContext);

            _integrationService = A.Fake <IIntegrationService>();
            _uniMicroClient     = A.Fake <IUnimicroClient>();
            _unitService        = A.Fake <IUnitService>();
            _entityMapService   = A.Fake <IEntityMapService>();
            _unitQueries        = A.Fake <IUnitQueries>();
            var absenceTypeService       = A.Fake <IAbsenceTypeService>();
            var fakeEmployeeService      = A.Fake <IEmployeeService>();
            var fakeAuthorizationContext = A.Fake <IAuthorizationContextService>();

            services.ReplaceScoped <IUnitQueries>(_unitQueries);
            services.ReplaceScoped <IUnimicroClient>(_uniMicroClient);
            services.ReplaceScoped <IEntityMapService>(_entityMapService);
            services.ReplaceScoped <IUnitService>(_unitService);
            services.ReplaceScoped <IEmployeeService>(fakeEmployeeService);
            services.ReplaceScoped <IAbsenceTypeService>(absenceTypeService);
            services.ReplaceScoped <IAuthorizationContextService>(fakeAuthorizationContext);
            services.ReplaceSingleton(_integrationService);

            services.ReplaceScoped <IDbContextFactory <TimeregDbContext>, InMemoryDbContextFactory>();

            services.AddScoped <IConsumer <IAbsenceApproved>, AbsenceApprovedConsumer>();
            services.AddScoped <IConsumer <IAbsenceDeleted>, AbsenceDeletedConsumer>();
            services.AddScoped <IConsumer <IIntegrationDeleted>, IntegrationDeleteConsumer>();
            services.AddScoped <IConsumer <IEmployeeDeleted>, EmployeeDeletedConsumer>();

            return(services.BuildServiceProvider());
        }
 public AuthorizationService(
     IAuthorizationQueries authorizationQueries,
     IPermissionService permissionService,
     IUnitQueries unitQueries,
     ILogger <AuthorizationService> logService)
 {
     _authorizationQueries = authorizationQueries ?? throw new ArgumentNullException(nameof(authorizationQueries));
     _permissionService    = permissionService ?? throw new ArgumentNullException(nameof(permissionService));
     _unitQueries          = unitQueries ?? throw new ArgumentNullException(nameof(unitQueries));
     _logService           = logService ?? throw new ArgumentNullException(nameof(logService));
 }
示例#3
0
 public OrganizationTasks(INHibernateRepository <Organization> orgRepo,
                          INHibernateRepository <Unit> unitRepo,
                          INHibernateRepository <Rank> rankRepo,
                          INHibernateRepository <Role> roleRepo,
                          INHibernateRepository <AdminUnitImport> adminUnitImportRepo,
                          INHibernateRepository <UnitHierarchy> unitHierarchyRepo,
                          INHibernateRepository <UnitHierarchyType> unitHierarchyTypeRepo,
                          INHibernateRepository <UnitLocation> unitLocationRepo,
                          INHibernateRepository <UnitAlias> unitAliasRepo,
                          INHibernateRepository <UnitOperation> unitOperationRepo,
                          INHibernateRepository <Operation> operationRepo,
                          INHibernateRepository <OperationAlias> operationAliasRepo,
                          IOrganizationSearchQuery orgSearchQuery,
                          IUnitQueries unitQueries,
                          IUnitSearchQuery unitSearchQuery,
                          IRankSearchQuery rankSearchQuery,
                          IRoleSearchQuery roleSearchQuery,
                          ILuceneTasks luceneTasks,
                          IMergeStoredProcQueries mergeQueries)
 {
     this.orgRepo               = orgRepo;
     this.unitRepo              = unitRepo;
     this.rankRepo              = rankRepo;
     this.roleRepo              = roleRepo;
     this.adminUnitImportRepo   = adminUnitImportRepo;
     this.unitHierarchyRepo     = unitHierarchyRepo;
     this.unitHierarchyTypeRepo = unitHierarchyTypeRepo;
     this.unitLocationRepo      = unitLocationRepo;
     this.unitAliasRepo         = unitAliasRepo;
     this.unitOperationRepo     = unitOperationRepo;
     this.operationRepo         = operationRepo;
     this.operationAliasRepo    = operationAliasRepo;
     this.orgSearchQuery        = orgSearchQuery;
     this.unitQueries           = unitQueries;
     this.unitSearchQuery       = unitSearchQuery;
     this.rankSearchQuery       = rankSearchQuery;
     this.roleSearchQuery       = roleSearchQuery;
     this.luceneTasks           = luceneTasks;
     this.mergeQueries          = mergeQueries;
 }
        public async Task SetUp()
        {
            var settings = new Dictionary <string, string>();

            settings.Add("Common_Api_Url", "http://localhost");
            settings.Add("Integrations_Api_Url", "http://localhost");
            settings.Add("Unimicro.Api.Url", "http://test-api.unieconomy.no/api/");
            settings.Add(Unimicro.Constants.Constants.API.API_USERNAME_CONFIG_KEY, "Sticos-integration");
            settings.Add(Unimicro.Constants.Constants.API.API_PASSWORD_CONFIG_KEY, "Sticosintegration123");

            _actions = (sc) =>
            {
                _integrationService = A.Fake <IIntegrationService>();
                _unitService        = A.Fake <IUnitService>();
                _entitymapService   = A.Fake <IEntityMapService>();
                _unitQueries        = A.Fake <IUnitQueries>();

                sc.ReplaceTransient <IDbContextFactory <TimeregDbContext>, InMemoryDbContextFactory>();
                sc.ReplaceScoped <IUnitQueries>(_unitQueries);
                sc.ReplaceScoped <IIntegrationService>(_integrationService);
                sc.ReplaceScoped <IEntityMapService>(_entitymapService);
                sc.ReplaceScoped <IUnitService>(_unitService);
            };

            _testServer = new TestServerBuilder()
                          .WithPostConfigureCollection(_actions)
                          .WithConfigSettings(settings)
                          .Build <Startup>();

            _client = _testServer.CreateClientWithJwtToken(_customerId, _userId);

            var dbFactory = _testServer.Host.Services.GetService <IDbContextFactory <TimeregDbContext> >();

            _mapper = _testServer.Host.Services.GetService <IMapper>();
            _db     = await dbFactory.CreateDbContext();
        }
 public AbsenceExportService(IAbsenceExportRepository repository, IUnitQueries unitQueries)
 {
     _repository  = repository;
     _unitQueries = unitQueries;
 }
 public EntityMapService(IEntityMapRepository repository, IIntegrationService integrationService, IUnitQueries unitQueries)
 {
     _repository         = repository;
     _integrationService = integrationService;
     _unitQueries        = unitQueries;
 }
 public UnitController(IMapper mapper, IUnitService unitService, IUnitQueries unitQueries)
 {
     _unitService = unitService;
     _unitQueries = unitQueries;
     _mapper      = mapper;
 }