@@ -2,10 +2,12 @@ import * as fs from "fs";
2
2
import * as child from "child_process" ;
3
3
import * as core from "@actions/core" ;
4
4
import { XcodeSelector , XcodeVersion } from "../src/xcode-selector" ;
5
+ import * as xcodeUtils from "../src/xcode-utils" ;
5
6
6
7
jest . mock ( "fs" ) ;
7
8
jest . mock ( "child_process" ) ;
8
9
jest . mock ( "@actions/core" ) ;
10
+ jest . mock ( "../src/xcode-utils" ) ;
9
11
10
12
const buildFsDirentItem = ( name : string , opt : { isSymbolicLink : boolean ; isDirectory : boolean } ) : fs . Dirent => {
11
13
return {
@@ -39,11 +41,20 @@ const fakeGetVersionsResult: XcodeVersion[] = [
39
41
40
42
describe ( "XcodeSelector" , ( ) => {
41
43
describe ( "getXcodeVersionFromAppPath" , ( ) => {
44
+ beforeEach ( ( ) => {
45
+ jest . spyOn ( xcodeUtils , "getXcodeReleaseType" ) . mockImplementation ( ( ) => xcodeUtils . XcodeReleaseType . GM ) ;
46
+ } ) ;
47
+
48
+ afterEach ( ( ) => {
49
+ jest . resetAllMocks ( ) ;
50
+ jest . clearAllMocks ( ) ;
51
+ } ) ;
52
+
42
53
it . each ( [
43
54
[ "/temp/Xcode_11.app" , { version : "11.0.0" , path : "/temp/Xcode_11.app" , stable : true } ] ,
44
55
[ "/temp/Xcode_11.2.app" , { version : "11.2.0" , path : "/temp/Xcode_11.2.app" , stable : true } ] ,
45
56
[ "/temp/Xcode_11.2.1.app" , { version : "11.2.1" , path : "/temp/Xcode_11.2.1.app" , stable : true } ] ,
46
- [ "/temp/Xcode_11.2.1_beta.app" , { version : "11.2.1" , path : "/temp/Xcode_11.2.1_beta.app" , stable : false } ] ,
57
+ [ "/temp/Xcode_11.2.1_beta.app" , { version : "11.2.1" , path : "/temp/Xcode_11.2.1_beta.app" , stable : true } ] ,
47
58
[ "/temp/Xcode.app" , null ] ,
48
59
[ "/temp/Xcode_11.2" , null ] ,
49
60
[ "/temp/Xcode.11.2.app" , null ]
@@ -58,6 +69,7 @@ describe("XcodeSelector", () => {
58
69
describe ( "getAllVersions" , ( ) => {
59
70
beforeEach ( ( ) => {
60
71
jest . spyOn ( fs , "readdirSync" ) . mockImplementation ( ( ) => fakeReadDirResults ) ;
72
+ jest . spyOn ( xcodeUtils , "getXcodeReleaseType" ) . mockImplementation ( ( ) => xcodeUtils . XcodeReleaseType . GM ) ;
61
73
} ) ;
62
74
63
75
afterEach ( ( ) => {
@@ -68,8 +80,8 @@ describe("XcodeSelector", () => {
68
80
it ( "versions are filtered correctly" , ( ) => {
69
81
const sel = new XcodeSelector ( ) ;
70
82
const expectedVersions : XcodeVersion [ ] = [
71
- { version : "12.0.0" , path : "/Applications/Xcode_12_beta.app" , stable : false } ,
72
- { version : "11.4.0" , path : "/Applications/Xcode_11.4_beta.app" , stable : false } ,
83
+ { version : "12.0.0" , path : "/Applications/Xcode_12_beta.app" , stable : true } ,
84
+ { version : "11.4.0" , path : "/Applications/Xcode_11.4_beta.app" , stable : true } ,
73
85
{ version : "11.2.1" , path : "/Applications/Xcode_11.2.1.app" , stable : true } ,
74
86
{ version : "11.1.0" , path : "/Applications/Xcode_11.1.app" , stable : true } ,
75
87
{ version : "11.0.0" , path : "/Applications/Xcode_11.app" , stable : true } ,
@@ -135,4 +147,5 @@ describe("XcodeSelector", () => {
135
147
expect ( ( ) => sel . setVersion ( xcodeVersion ) ) . toThrow ( ) ;
136
148
} ) ;
137
149
} ) ;
150
+
138
151
} ) ;
0 commit comments