package org.synyx.urlaubsverwaltung.dev;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.synyx.urlaubsverwaltung.account.service.AccountInteractionService;
import org.synyx.urlaubsverwaltung.application.service.ApplicationInteractionService;
import org.synyx.urlaubsverwaltung.application.service.VacationTypeService;
import org.synyx.urlaubsverwaltung.department.DepartmentService;
import org.synyx.urlaubsverwaltung.overtime.OvertimeService;
import org.synyx.urlaubsverwaltung.person.PersonService;
import org.synyx.urlaubsverwaltung.settings.SettingsService;
import org.synyx.urlaubsverwaltung.sicknote.SickNoteInteractionService;
import org.synyx.urlaubsverwaltung.sicknote.SickNoteTypeService;
import org.synyx.urlaubsverwaltung.workingtime.WorkDaysService;
import org.synyx.urlaubsverwaltung.workingtime.WorkingTimeService;

@Configuration
@ConditionalOnProperty("uv.development.testdata.create")
public class TestDataConfiguration {

    @Bean
    TestDataCreationService testDataCreationService(PersonDataProvider personDataProvider, ApplicationForLeaveDataProvider applicationForLeaveDataProvider,
                                                    SickNoteDataProvider sickNoteDataProvider, SickNoteTypeService sickNoteTypeService,
                                                    VacationTypeService vacationTypeService, OvertimeRecordDataProvider overtimeRecordDataProvider,
                                                    DepartmentDataProvider departmentDataProvider) {
        return new TestDataCreationService(personDataProvider, applicationForLeaveDataProvider, sickNoteDataProvider, sickNoteTypeService, vacationTypeService, overtimeRecordDataProvider, departmentDataProvider);
    }

    @Bean
    SickNoteDataProvider sickNoteDataProvider(SickNoteInteractionService sickNoteInteractionService, DurationChecker durationChecker) {
        return new SickNoteDataProvider(sickNoteInteractionService, durationChecker);
    }

    @Bean
    PersonDataProvider personDataProvider(PersonService personService, WorkingTimeService workingTimeService,
                                          AccountInteractionService accountInteractionService) {
        return new PersonDataProvider(personService, workingTimeService, accountInteractionService);
    }

    @Bean
    OvertimeRecordDataProvider overtimeRecordDataProvider(OvertimeService overtimeService, SettingsService settingsService) {
        return new OvertimeRecordDataProvider(overtimeService, settingsService);
    }

    @Bean
    DurationChecker durationChecker(WorkDaysService workDaysService) {
        return new DurationChecker(workDaysService);
    }

    @Bean
    DepartmentDataProvider departmentDataProvider(DepartmentService departmentService) {
        return new DepartmentDataProvider(departmentService);
    }

    @Bean
    ApplicationForLeaveDataProvider applicationForLeaveDataProvider(ApplicationInteractionService applicationInteractionService,
                                                                    DurationChecker durationChecker) {
        return new ApplicationForLeaveDataProvider(applicationInteractionService, durationChecker);
    }
}

@@ -1018,16 +1018,24 @@
 roperty(
+value = 
 %22uv.deve
@@ -1062,17 +1062,32 @@
 ate%22
-)%0Apublic 
+, havingValue = %22true%22)%0A
 clas

Improve conditional for test data create to check for "true"