@@ -2478,6 +2478,7 @@ func TestWorkspaceResource(t *testing.T) {
2478
2478
Command : "some-command" ,
2479
2479
Url : "http://localhost:3000" ,
2480
2480
Icon : "/code.svg" ,
2481
+ Order : 3 ,
2481
2482
},
2482
2483
{
2483
2484
Slug : "code-server-2" ,
@@ -2490,6 +2491,7 @@ func TestWorkspaceResource(t *testing.T) {
2490
2491
Interval : 5 ,
2491
2492
Threshold : 6 ,
2492
2493
},
2494
+ Order : 2 ,
2493
2495
},
2494
2496
}
2495
2497
version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , & echo.Responses {
@@ -2543,6 +2545,57 @@ func TestWorkspaceResource(t *testing.T) {
2543
2545
require .EqualValues (t , app .Healthcheck .Threshold , got .Healthcheck .Threshold )
2544
2546
})
2545
2547
2548
+ t .Run ("Apps_DisplayOrder" , func (t * testing.T ) {
2549
+ t .Parallel ()
2550
+ client := coderdtest .New (t , & coderdtest.Options {
2551
+ IncludeProvisionerDaemon : true ,
2552
+ })
2553
+ user := coderdtest .CreateFirstUser (t , client )
2554
+ apps := []* proto.App {
2555
+ {
2556
+ Slug : "aaa-code-server" ,
2557
+ Order : 4 ,
2558
+ },
2559
+ {
2560
+ Slug : "bbb-code-server" ,
2561
+ Order : 3 ,
2562
+ },
2563
+ }
2564
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , & echo.Responses {
2565
+ Parse : echo .ParseComplete ,
2566
+ ProvisionApply : []* proto.Response {{
2567
+ Type : & proto.Response_Apply {
2568
+ Apply : & proto.ApplyComplete {
2569
+ Resources : []* proto.Resource {{
2570
+ Name : "some" ,
2571
+ Type : "example" ,
2572
+ Agents : []* proto.Agent {{
2573
+ Id : "something" ,
2574
+ Auth : & proto.Agent_Token {},
2575
+ Apps : apps ,
2576
+ }},
2577
+ }},
2578
+ },
2579
+ },
2580
+ }},
2581
+ })
2582
+ coderdtest .AwaitTemplateVersionJobCompleted (t , client , version .ID )
2583
+ template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
2584
+ workspace := coderdtest .CreateWorkspace (t , client , user .OrganizationID , template .ID )
2585
+ coderdtest .AwaitWorkspaceBuildJobCompleted (t , client , workspace .LatestBuild .ID )
2586
+
2587
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
2588
+ defer cancel ()
2589
+
2590
+ workspace , err := client .Workspace (ctx , workspace .ID )
2591
+ require .NoError (t , err )
2592
+ require .Len (t , workspace .LatestBuild .Resources [0 ].Agents , 1 )
2593
+ agent := workspace .LatestBuild .Resources [0 ].Agents [0 ]
2594
+ require .Len (t , agent .Apps , 2 )
2595
+ require .Equal (t , apps [1 ].Slug , agent .Apps [0 ].Slug )
2596
+ require .Equal (t , apps [0 ].Slug , agent .Apps [1 ].Slug )
2597
+ })
2598
+
2546
2599
t .Run ("Metadata" , func (t * testing.T ) {
2547
2600
t .Parallel ()
2548
2601
client := coderdtest .New (t , & coderdtest.Options {
0 commit comments