--- Happy path tests ---
(t *testing.T)
| 159 | // --- Happy path tests --- |
| 160 | |
| 161 | func TestChange_HappyPath_StopAtIssue(t *testing.T) { |
| 162 | mock := newChangeMock(employeeDB()) |
| 163 | mock.issueResponse = defaultIssueResponse("PENDING") |
| 164 | s := newChangeTestServer(t, mock) |
| 165 | |
| 166 | result, structured, err := s.handleChange(testContext(), nil, ChangeInput{ |
| 167 | Database: "employee_db", |
| 168 | SQL: "ALTER TABLE users ADD COLUMN status VARCHAR(20)", |
| 169 | Title: "Add status column", |
| 170 | }) |
| 171 | require.NoError(t, err) |
| 172 | require.False(t, result.IsError) |
| 173 | |
| 174 | output, ok := structured.(*ChangeOutput) |
| 175 | require.True(t, ok) |
| 176 | require.Equal(t, "instances/prod-pg/databases/employee_db", output.Database) |
| 177 | require.Equal(t, "projects/hr-system", output.Project) |
| 178 | require.Equal(t, "MIGRATE", output.ResolvedChangeType) |
| 179 | require.Equal(t, 1, output.TargetCount) |
| 180 | require.Equal(t, "projects/hr-system/sheets/1001", output.Sheet) |
| 181 | require.Equal(t, "projects/hr-system/plans/2002", output.Plan) |
| 182 | require.Equal(t, "projects/hr-system/issues/3003", output.Issue) |
| 183 | require.False(t, output.RolloutCreated) |
| 184 | require.Equal(t, "NOT_REQUESTED", output.RolloutDeferredReason) |
| 185 | require.Equal(t, "APPROVE_ISSUE", output.NextAction) |
| 186 | require.Contains(t, output.Links.Issue, "projects/hr-system/issues/3003") |
| 187 | require.Contains(t, output.Links.Plan, "projects/hr-system/plans/2002") |
| 188 | require.Empty(t, output.Links.Rollout) |
| 189 | } |
| 190 | |
| 191 | func TestChange_HappyPath_WithRollout(t *testing.T) { |
| 192 | mock := newChangeMock(employeeDB()) |
nothing calls this directly
no test coverage detected