• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ProjektAdLer / 2D_3D_AdLer / #1373

25 Sep 2025 10:47AM UTC coverage: 95.723% (+0.01%) from 95.71%
#1373

push

AdLer-Lukas
Merge branch 'main' into sidebar-fullscreenButton

2787 of 3265 branches covered (85.36%)

121 of 186 new or added lines in 17 files covered. (65.05%)

18 existing lines in 8 files now uncovered.

6087 of 6359 relevant lines covered (95.72%)

55.39 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Components/Core/Application/UseCases/SetSettingsConfig/SetSettingsConfigUseCase.ts
1
import { inject, injectable } from "inversify";
2
import type IEntityContainer from "src/Components/Core/Domain/EntityContainer/IEntityContainer";
3
import CORE_TYPES from "~DependencyInjection/CoreTypes";
4
import type ILoggerPort from "../../Ports/Interfaces/ILoggerPort";
5
import { LogLevelTypes } from "src/Components/Core/Domain/Types/LogLevelTypes";
6
import ISetSettingsConfigUseCase from "./ISetSettingsConfigUseCase";
7
import SettingsTO from "../../DataTransferObjects/SettingsTO";
8
import SettingsEntity from "src/Components/Core/Domain/Entities/SettingsEntity";
9

10
@injectable()
11
export default class SetSettingsConfigUseCase
12
  implements ISetSettingsConfigUseCase
13
{
14
  constructor(
15
    @inject(CORE_TYPES.ILogger)
16
    private logger: ILoggerPort,
17
    @inject(CORE_TYPES.IEntityContainer)
18
    private entityContainer: IEntityContainer,
19
  ) {}
20

21
  execute(settings: SettingsTO): void {
22
    let settingsEntity =
NEW
23
      this.entityContainer.getEntitiesOfType<SettingsEntity>(SettingsEntity)[0];
×
24

NEW
25
    if (!settingsEntity) {
×
NEW
26
      settingsEntity = {
×
27
        volume: settings.volume ?? undefined,
×
28
        language: settings.language ?? undefined,
×
29
        highGraphicsQualityEnabled:
30
          settings.highGraphicsQualityEnabled ?? undefined,
×
31
        breakTimeNotificationsEnabled:
32
          settings.breakTimeNotificationsEnabled ?? undefined,
×
33
      };
NEW
34
      this.entityContainer.useSingletonEntity<SettingsEntity>(
×
35
        settingsEntity,
36
        SettingsEntity,
37
      );
38
    } else {
NEW
39
      settingsEntity.volume = settings.volume ?? settingsEntity.volume;
×
NEW
40
      settingsEntity.language = settings.language ?? settingsEntity.language;
×
NEW
41
      settingsEntity.highGraphicsQualityEnabled =
×
42
        settings.highGraphicsQualityEnabled ??
×
43
        settingsEntity.highGraphicsQualityEnabled;
NEW
44
      settingsEntity.breakTimeNotificationsEnabled =
×
45
        settings.breakTimeNotificationsEnabled ??
×
46
        settingsEntity.breakTimeNotificationsEnabled;
47
    }
NEW
48
    this.logger.log(
×
49
      LogLevelTypes.TRACE,
50
      `SetSettingsConfigUseCase: Settings set to: Volume:${settingsEntity.volume}, Language: ${settingsEntity.language}, HighGraphicsQualityEnabled: ${settingsEntity.highGraphicsQualityEnabled}, BreakTimeNotificationsEnabled: ${settingsEntity.breakTimeNotificationsEnabled}`,
51
    );
52
  }
53
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc