(t *testing.T)
| 14231 | } |
| 14232 | |
| 14233 | func TestChatStopWorkspace_BypassesRequireActiveVersion(t *testing.T) { |
| 14234 | t.Parallel() |
| 14235 | |
| 14236 | ctx := testutil.Context(t, testutil.WaitLong) |
| 14237 | rawClient, _, api := coderdtest.NewWithAPI(t, &coderdtest.Options{}) |
| 14238 | var store dbauthz.AccessControlStore = requireActiveVersionStore{} |
| 14239 | api.AccessControlStore.Store(&store) |
| 14240 | db := api.Database |
| 14241 | user := coderdtest.CreateFirstUser(t, rawClient) |
| 14242 | |
| 14243 | wsResp := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{ |
| 14244 | OwnerID: user.UserID, |
| 14245 | OrganizationID: user.OrganizationID, |
| 14246 | }).Seed(database.WorkspaceBuild{ |
| 14247 | Transition: database.WorkspaceTransitionStart, |
| 14248 | }).Do() |
| 14249 | v1ID := wsResp.Build.TemplateVersionID |
| 14250 | tmplID := wsResp.Workspace.TemplateID |
| 14251 | |
| 14252 | v2Resp := dbfake.TemplateVersion(t, db).Seed(database.TemplateVersion{ |
| 14253 | TemplateID: uuid.NullUUID{UUID: tmplID, Valid: true}, |
| 14254 | OrganizationID: user.OrganizationID, |
| 14255 | CreatedBy: user.UserID, |
| 14256 | }).Do() |
| 14257 | v2 := v2Resp.TemplateVersion |
| 14258 | require.NotEqual(t, v1ID, v2.ID, "v2 must differ from v1") |
| 14259 | |
| 14260 | build, err := coderd.ChatStopWorkspace(api, ctx, user.UserID, wsResp.Workspace.ID, |
| 14261 | codersdk.CreateWorkspaceBuildRequest{}) |
| 14262 | |
| 14263 | require.NoError(t, err) |
| 14264 | require.Equal(t, codersdk.WorkspaceTransitionStop, build.Transition) |
| 14265 | require.Equal(t, v1ID, build.TemplateVersionID, |
| 14266 | "stop must not apply RequireActiveVersion start-only logic") |
| 14267 | require.NotEqual(t, v2.ID, build.TemplateVersionID) |
| 14268 | } |
| 14269 | |
| 14270 | func TestGetChatMessages_Pagination(t *testing.T) { |
| 14271 | t.Parallel() |
nothing calls this directly
no test coverage detected