MCPcopy Create free account
hub / github.com/github/gh-aw / TestExperimentDetailsFromState

Function TestExperimentDetailsFromState

pkg/cli/experiments_command_test.go:121–146  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

119}
120
121func TestExperimentDetailsFromState(t *testing.T) {
122 state := &ExperimentState{
123 Counts: map[string]map[string]int{
124 "style": {"concise": 4, "detailed": 6},
125 "feature": {"on": 5, "off": 5},
126 },
127 Runs: []ExperimentRunRecord{
128 {RunID: "r1", Timestamp: "2024-05-01T00:00:00Z", Assignments: map[string]string{"style": "concise", "feature": "on"}},
129 {RunID: "r2", Timestamp: "2024-05-02T00:00:00Z", Assignments: map[string]string{"style": "detailed", "feature": "off"}},
130 },
131 }
132
133 details := experimentDetailsFromState("my-workflow", "experiments/my-workflow", state)
134 require.NotNil(t, details, "details should not be nil")
135 assert.Equal(t, "my-workflow", details.WorkflowID, "workflow ID")
136 assert.Equal(t, "experiments/my-workflow", details.Branch, "branch")
137 assert.Equal(t, 2, details.TotalRuns, "total runs from runs array")
138 assert.Len(t, details.Experiments, 2, "should have 2 experiment entries")
139 assert.Len(t, details.RecentRuns, 2, "should have 2 recent runs")
140
141 // Experiments are sorted by name.
142 assert.Equal(t, "feature", details.Experiments[0].Name, "first experiment sorted by name")
143 assert.Equal(t, 10, details.Experiments[0].Total, "feature total")
144 assert.Equal(t, "style", details.Experiments[1].Name, "second experiment sorted by name")
145 assert.Equal(t, 10, details.Experiments[1].Total, "style total")
146}
147
148func TestExperimentTotalRunsFallback(t *testing.T) {
149 // When no runs array present, sum variant counts.

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected