7
7
8
8
"github.com/coder/coder/cli"
9
9
"github.com/coder/coder/cli/clitest"
10
+ "github.com/coder/coder/coderd/coderdtest"
11
+ "github.com/coder/coder/pty/ptytest"
10
12
)
11
13
12
14
func TestDelete (t * testing.T ) {
@@ -18,4 +20,28 @@ func TestDelete(t *testing.T) {
18
20
err := cmd .Execute ()
19
21
require .ErrorContains (t ,err ,cli .DeleteError )
20
22
})
23
+ t .Run ("WithParameter" ,func (t * testing.T ) {
24
+ t .Parallel ()
25
+ client := coderdtest .New (t ,nil )
26
+ user := coderdtest .CreateFirstUser (t ,client )
27
+ coderdtest .NewProvisionerDaemon (t ,client )
28
+ version := coderdtest .CreateTemplateVersion (t ,client ,user .OrganizationID ,nil )
29
+ coderdtest .AwaitTemplateVersionJob (t ,client ,version .ID )
30
+ template := coderdtest .CreateTemplate (t ,client ,user .OrganizationID ,version .ID )
31
+ workspace := coderdtest .CreateWorkspace (t ,client ,user .OrganizationID ,template .ID )
32
+ coderdtest .AwaitWorkspaceBuildJob (t ,client ,workspace .LatestBuild .ID )
33
+ cmd ,root := clitest .New (t ,"delete" ,workspace .Name )
34
+ clitest .SetupConfig (t ,client ,root )
35
+ doneChan := make (chan struct {})
36
+ pty := ptytest .New (t )
37
+ cmd .SetIn (pty .Input ())
38
+ cmd .SetOut (pty .Output ())
39
+ go func () {
40
+ defer close (doneChan )
41
+ err := cmd .Execute ()
42
+ require .NoError (t ,err )
43
+ }()
44
+ pty .ExpectMatch ("Cleaning Up" )
45
+ <- doneChan
46
+ })
21
47
}