package context import ( "dance-lessons-coach/pkg/bdd/testserver" "github.com/cucumber/godog" ) // ConfigContext holds configuration-specific test context type ConfigContext struct { client *testserver.Client configFilePath string originalConfig string } // NewConfigContext creates a new config context func NewConfigContext(client *testserver.Client) *ConfigContext { return &ConfigContext{ client: client, configFilePath: "test-config.yaml", // Default, will be overridden } } // InitializeConfigContext initializes config-specific steps func InitializeConfigContext(ctx *godog.ScenarioContext, client *testserver.Client) { configCtx := NewConfigContext(client) // Register config-specific steps ctx.Step(`^the server is running with config file monitoring enabled$`, configCtx.theServerIsRunningWithConfigFileMonitoringEnabled) ctx.Step(`^I update the logging level to "([^"]*)" in the config file$`, configCtx.iUpdateTheLoggingLevelToInTheConfigFile) ctx.Step(`^the logging level should be updated without restart$`, configCtx.theLoggingLevelShouldBeUpdatedWithoutRestart) // Add more config steps as needed... } // Step implementations func (cc *ConfigContext) theServerIsRunningWithConfigFileMonitoringEnabled() error { // Implementation would go here return nil } func (cc *ConfigContext) iUpdateTheLoggingLevelToInTheConfigFile(level string) error { // Implementation would go here return nil } func (cc *ConfigContext) theLoggingLevelShouldBeUpdatedWithoutRestart() error { // Implementation would go here return nil }