public BoardGameGeekApiClientConfigurationTests()
        {
            var fixture = new Fixture();

            _validator = new BoardGameGeekApiClientConfigurationValidator();

            _configuration = fixture.Create <BoardGameGeekApiClientConfiguration>();
        }
Beispiel #2
0
        public static IServiceCollection AddBoardGameGeekProvider(this IServiceCollection services, IConfiguration configuration)
        {
            var boardGameGeekSettings          = configuration.GetSection("BoardGameGeekSettings").Get <BoardGameGeekApiClientConfiguration>();
            var boardGameGeekSettingsValidator = new BoardGameGeekApiClientConfigurationValidator();

            boardGameGeekSettingsValidator.ValidateAndThrow(boardGameGeekSettings);

            services.AddSingleton <IBoardGameGeekApiClientConfiguration>(boardGameGeekSettings);

            var restClientOptions = new RestClientOptions($"{boardGameGeekSettings.BaseUrl}{boardGameGeekSettings.ApiVersion}");
            var restClient        = new RestClient(restClientOptions);

            services.AddScoped <IBoardGameGeekApiClient, BoardGameGeekApiClient>(_ => new BoardGameGeekApiClient(boardGameGeekSettings, restClient));
            services.AddScoped <IBoardGameGeekProvider, BoardGameGeekProvider>();

            return(services);
        }