@@ -2,10 +2,12 @@ import * as fs from "fs";
22import * as child from "child_process" ;
33import * as core from "@actions/core" ;
44import { XcodeSelector , XcodeVersion } from "../src/xcode-selector" ;
5+ import * as xcodeUtils from "../src/xcode-utils" ;
56
67jest . mock ( "fs" ) ;
78jest . mock ( "child_process" ) ;
89jest . mock ( "@actions/core" ) ;
10+ jest . mock ( "../src/xcode-utils" ) ;
911
1012const buildFsDirentItem = ( name : string , opt : { isSymbolicLink : boolean ; isDirectory : boolean } ) : fs . Dirent => {
1113 return {
@@ -39,11 +41,20 @@ const fakeGetVersionsResult: XcodeVersion[] = [
3941
4042describe ( "XcodeSelector" , ( ) => {
4143 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+
4253 it . each ( [
4354 [ "/temp/Xcode_11.app" , { version : "11.0.0" , path : "/temp/Xcode_11.app" , stable : true } ] ,
4455 [ "/temp/Xcode_11.2.app" , { version : "11.2.0" , path : "/temp/Xcode_11.2.app" , stable : true } ] ,
4556 [ "/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 } ] ,
4758 [ "/temp/Xcode.app" , null ] ,
4859 [ "/temp/Xcode_11.2" , null ] ,
4960 [ "/temp/Xcode.11.2.app" , null ]
@@ -58,6 +69,7 @@ describe("XcodeSelector", () => {
5869 describe ( "getAllVersions" , ( ) => {
5970 beforeEach ( ( ) => {
6071 jest . spyOn ( fs , "readdirSync" ) . mockImplementation ( ( ) => fakeReadDirResults ) ;
72+ jest . spyOn ( xcodeUtils , "getXcodeReleaseType" ) . mockImplementation ( ( ) => xcodeUtils . XcodeReleaseType . GM ) ;
6173 } ) ;
6274
6375 afterEach ( ( ) => {
@@ -68,8 +80,8 @@ describe("XcodeSelector", () => {
6880 it ( "versions are filtered correctly" , ( ) => {
6981 const sel = new XcodeSelector ( ) ;
7082 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 } ,
7385 { version : "11.2.1" , path : "/Applications/Xcode_11.2.1.app" , stable : true } ,
7486 { version : "11.1.0" , path : "/Applications/Xcode_11.1.app" , stable : true } ,
7587 { version : "11.0.0" , path : "/Applications/Xcode_11.app" , stable : true } ,
@@ -135,4 +147,5 @@ describe("XcodeSelector", () => {
135147 expect ( ( ) => sel . setVersion ( xcodeVersion ) ) . toThrow ( ) ;
136148 } ) ;
137149 } ) ;
150+
138151} ) ;
0 commit comments