MCPcopy Index your code
hub / github.com/coder/coder / TestTemplateEdit

Function TestTemplateEdit

cli/templateedit_test.go:29–877  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

27)
28
29func TestTemplateEdit(t *testing.T) {
30 t.Parallel()
31
32 t.Run("FirstEmptyThenModified", func(t *testing.T) {
33 t.Parallel()
34 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
35 owner := coderdtest.CreateFirstUser(t, client)
36 templateAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleTemplateAdmin())
37 version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
38 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
39 template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
40
41 // Test the cli command.
42 name := "new-template-name"
43 displayName := "New Display Name 789"
44 desc := "lorem ipsum dolor sit amet et cetera"
45 icon := "/icon/new-icon.png"
46 defaultTTL := 12 * time.Hour
47 allowUserCancelWorkspaceJobs := false
48
49 cmdArgs := []string{
50 "templates",
51 "edit",
52 template.Name,
53 "--name", name,
54 "--display-name", displayName,
55 "--description", desc,
56 "--icon", icon,
57 "--default-ttl", defaultTTL.String(),
58 "--allow-user-cancel-workspace-jobs=" + strconv.FormatBool(allowUserCancelWorkspaceJobs),
59 }
60 inv, root := clitest.New(t, cmdArgs...)
61 clitest.SetupConfig(t, templateAdmin, root)
62
63 ctx := testutil.Context(t, testutil.WaitLong)
64 err := inv.WithContext(ctx).Run()
65
66 require.NoError(t, err)
67
68 // Assert that the template metadata changed.
69 updated, err := client.Template(context.Background(), template.ID)
70 require.NoError(t, err)
71 assert.Equal(t, name, updated.Name)
72 assert.Equal(t, displayName, updated.DisplayName)
73 assert.Equal(t, desc, updated.Description)
74 assert.Equal(t, icon, updated.Icon)
75 assert.Equal(t, defaultTTL.Milliseconds(), updated.DefaultTTLMillis)
76 assert.Equal(t, allowUserCancelWorkspaceJobs, updated.AllowUserCancelWorkspaceJobs)
77 })
78 t.Run("FirstEmptyThenNotModified", func(t *testing.T) {
79 t.Parallel()
80 client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true})
81 owner := coderdtest.CreateFirstUser(t, client)
82 templateAdmin, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleTemplateAdmin())
83 version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, nil)
84 _ = coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID)
85 template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID)
86

Callers

nothing calls this directly

Calls 15

CloseMethod · 0.95
NewFunction · 0.92
CreateFirstUserFunction · 0.92
CreateAnotherUserFunction · 0.92
RoleTemplateAdminFunction · 0.92
CreateTemplateVersionFunction · 0.92
CreateTemplateFunction · 0.92
NewFunction · 0.92
SetupConfigFunction · 0.92
ContextFunction · 0.92
AsErrorFunction · 0.92

Tested by

no test coverage detected