@@ -16,14 +16,13 @@ describe("jetbrains-gateway", async () => {
16
16
17
17
it ( "should create a link with the default values" , async ( ) => {
18
18
const state = await runTerraformApply ( import . meta. dir , {
19
- // These are all required.
20
19
agent_id : "foo" ,
21
20
agent_name : "foo" ,
22
21
folder : "/home/coder" ,
23
22
} ) ;
24
- expect ( state . outputs . url . value ) . toBe (
23
+ expect ( state . outputs . url . value ) . toEqual ( [
25
24
"jetbrains-gateway://connect#type=coder&workspace=default&owner=default&agent=foo&folder=/home/coder&url=https://mydeployment.coder.com&token=$SESSION_TOKEN&ide_product_code=IU&ide_build_number=241.14494.240&ide_download_link=https://download.jetbrains.com/idea/ideaIU-2024.1.tar.gz" ,
26
- ) ;
25
+ ] ) ;
27
26
28
27
const coder_app = state . resources . find (
29
28
( res ) => res . type === "coder_app" && res . name === "gateway" ,
@@ -34,13 +33,31 @@ describe("jetbrains-gateway", async () => {
34
33
expect ( coder_app ?. instances [ 0 ] . attributes . order ) . toBeNull ( ) ;
35
34
} ) ;
36
35
37
- it ( "default to first ide" , async ( ) => {
36
+ it ( "default to first IDE" , async ( ) => {
37
+ const state = await runTerraformApply ( import . meta. dir , {
38
+ agent_id : "foo" ,
39
+ agent_name : "foo" ,
40
+ folder : "/home/foo" ,
41
+ jetbrains_ides : [ "IU" , "PY" ] ,
42
+ } ) ;
43
+ expect ( state . outputs . identifier . value ) . toEqual ( [ "IU" ] ) ;
44
+ expect ( state . outputs . url . value ) . toEqual ( [
45
+ "jetbrains-gateway://connect#type=coder&workspace=default&owner=default&agent=foo&folder=/home/foo&url=https://mydeployment.coder.com&token=$SESSION_TOKEN&ide_product_code=IU&ide_build_number=241.14494.240&ide_download_link=https://download.jetbrains.com/idea/ideaIU-2024.1.tar.gz" ,
46
+ ] ) ;
47
+ } ) ;
48
+
49
+ it ( "should create multiple IDEs" , async ( ) => {
38
50
const state = await runTerraformApply ( import . meta. dir , {
39
51
agent_id : "foo" ,
40
52
agent_name : "foo" ,
41
53
folder : "/home/foo" ,
42
- jetbrains_ides : '["IU ", "GO ", "PY"]' ,
54
+ default : [ "GO ", "IU " , "PY" ] ,
43
55
} ) ;
44
- expect ( state . outputs . identifier . value ) . toBe ( "IU" ) ;
56
+ expect ( state . outputs . identifier . value ) . toEqual ( [ "GO" , "IU" , "PY" ] ) ;
57
+ expect ( state . outputs . url . value ) . toEqual ( [
58
+ "jetbrains-gateway://connect#type=coder&workspace=default&owner=default&agent=foo&folder=/home/foo&url=https://mydeployment.coder.com&token=$SESSION_TOKEN&ide_product_code=GO&ide_build_number=241.14494.238&ide_download_link=https://download.jetbrains.com/go/goland-2024.1.tar.gz" ,
59
+ "jetbrains-gateway://connect#type=coder&workspace=default&owner=default&agent=foo&folder=/home/foo&url=https://mydeployment.coder.com&token=$SESSION_TOKEN&ide_product_code=IU&ide_build_number=241.14494.240&ide_download_link=https://download.jetbrains.com/idea/ideaIU-2024.1.tar.gz" ,
60
+ "jetbrains-gateway://connect#type=coder&workspace=default&owner=default&agent=foo&folder=/home/foo&url=https://mydeployment.coder.com&token=$SESSION_TOKEN&ide_product_code=PY&ide_build_number=241.14494.241&ide_download_link=https://download.jetbrains.com/python/pycharm-professional-2024.1.tar.gz" ,
61
+ ] ) ;
45
62
} ) ;
46
63
} ) ;
0 commit comments