public void InitAndValidateLimits_IfFoodLimitsAreNotSet_ThrowsException() { //Prepare test var limits = new DietLimits(); //Do test var exception = Assert.Throws <ArgumentException>(() => new DietParametersService(limits)); Assert.Equal("All Food limits should be defined in appsettings.json file", exception.Message); }
public DietParametersServiceTests() { var limits = new DietLimits { CarbohydratesLimits = new Limits { Min = 100, Max = 300 }, ProteinsLimits = new Limits { Min = 100, Max = 200 }, FatsLimits = new Limits { Min = 100, Max = 200 } }; _dietService = new DietParametersService(limits); }
public static void AddDietAssistantServices(this IServiceCollection services, IConfiguration configuration) { services.AddDbContext <DietAssistantContext>(options => options.UseSqlServer(configuration.GetConnectionString("dbConnection"), sqlOptions => { sqlOptions.EnableRetryOnFailure(); sqlOptions.ExecutionStrategy(deps => new SqlServerRetryingExecutionStrategy( dependencies: deps, maxRetryCount: 5, maxRetryDelay: TimeSpan.FromSeconds(30), errorNumbersToAdd: new int[] { 10060, 233, 40613 } ) ); })); services.AddSingleton <IDietService, DietParametersService>(p => { var limits = new DietLimits(); configuration.GetSection("FoodLimits").Bind(limits); return(new DietParametersService(limits)); }); services.AddAutoMapper(typeof(UserService).Assembly); services.AddScoped <IUserRepository, UserRepository>(); services.AddScoped <IUserService, UserService>(); services.AddScoped <IRepository <ConsumedDish>, ConsumedDishRepository>(); services.AddScoped <IConsumedDishService, ConsumedDishService>(); services.AddScoped <IRepository <DailyReport>, DailyReportRepository>(); services.AddScoped <IReportService, ReportService>(); services.AddScoped <IAdminReportService, AdminReportService>(); services.AddTransient <IParametersCalculationService, ParametersCalculationService>(); }
//Constructor for test purposes public DietParametersService(DietLimits dietLimits) { _dietLimits = dietLimits; ValidateLimits(); }