- Remove @wip from default tag filters in all test suites - Update features/bdd_test.go to support GODOG_TAGS override - Move @wip tag from passing scenario to @todo scenario - Maintain tag override functionality via GODOG_TAGS environment variable - Update documentation to reflect new default behavior Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
package features
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"dance-lessons-coach/pkg/bdd"
|
|
|
|
"github.com/cucumber/godog"
|
|
)
|
|
|
|
func TestBDD(t *testing.T) {
|
|
// Get feature name from environment variable or default to all features
|
|
feature := os.Getenv("FEATURE")
|
|
|
|
var paths []string
|
|
var suiteName string
|
|
|
|
if feature == "" {
|
|
// Run all features
|
|
suiteName = "dance-lessons-coach BDD Tests - All Features"
|
|
paths = []string{
|
|
"auth",
|
|
"config",
|
|
"greet",
|
|
"health",
|
|
"jwt",
|
|
}
|
|
} else {
|
|
// Run specific feature
|
|
suiteName = "dance-lessons-coach BDD Tests - " + feature + " Feature"
|
|
paths = []string{feature}
|
|
}
|
|
|
|
// Allow tag override via environment variable
|
|
tags := os.Getenv("GODOG_TAGS")
|
|
if tags == "" {
|
|
// Default tags if not overridden
|
|
tags = "~@flaky && ~@todo && ~@skip"
|
|
}
|
|
|
|
suite := godog.TestSuite{
|
|
Name: suiteName,
|
|
TestSuiteInitializer: bdd.InitializeTestSuite,
|
|
ScenarioInitializer: bdd.InitializeScenario,
|
|
Options: &godog.Options{
|
|
Format: "progress",
|
|
Paths: paths,
|
|
TestingT: t,
|
|
Strict: true,
|
|
Randomize: -1,
|
|
StopOnFailure: false,
|
|
Tags: tags,
|
|
},
|
|
}
|
|
|
|
if suite.Run() != 0 {
|
|
t.Fatal("non-zero status returned, failed to run BDD tests")
|
|
}
|
|
}
|