1
- // Copyright 2020-2024 The MathWorks, Inc.
1
+ // Copyright 2020-2025 The MathWorks, Inc.
2
2
3
3
import * as core from "@actions/core" ;
4
4
import * as cache from "./cache-restore" ;
5
5
import * as install from "./install" ;
6
6
import * as matlab from "./matlab" ;
7
7
import * as mpm from "./mpm" ;
8
+ import { State } from './install-state' ;
8
9
9
10
jest . mock ( "@actions/core" ) ;
10
11
jest . mock ( "./matlab" ) ;
@@ -22,6 +23,7 @@ describe("install procedure", () => {
22
23
let matlabSetupBatchMock : jest . Mock ;
23
24
let mpmSetupMock : jest . Mock ;
24
25
let mpmInstallMock : jest . Mock ;
26
+ let saveStateMock : jest . Mock ;
25
27
let addPathMock : jest . Mock ;
26
28
let setOutputMock : jest . Mock ;
27
29
let restoreMATLABMock : jest . Mock ;
@@ -49,6 +51,7 @@ describe("install procedure", () => {
49
51
matlabSetupBatchMock = matlab . setupBatch as jest . Mock ;
50
52
mpmSetupMock = mpm . setup as jest . Mock ;
51
53
mpmInstallMock = mpm . install as jest . Mock ;
54
+ saveStateMock = core . saveState as jest . Mock ;
52
55
addPathMock = core . addPath as jest . Mock ;
53
56
setOutputMock = core . setOutput as jest . Mock ;
54
57
restoreMATLABMock = cache . restoreMATLAB as jest . Mock ;
@@ -71,6 +74,7 @@ describe("install procedure", () => {
71
74
expect ( matlabSetupBatchMock ) . toHaveBeenCalledTimes ( 1 ) ;
72
75
expect ( mpmSetupMock ) . toHaveBeenCalledTimes ( 1 ) ;
73
76
expect ( mpmInstallMock ) . toHaveBeenCalledTimes ( 1 ) ;
77
+ expect ( saveStateMock ) . toHaveBeenCalledWith ( State . InstallSuccessful , 'true' ) ;
74
78
expect ( addPathMock ) . toHaveBeenCalledTimes ( 1 ) ;
75
79
expect ( setOutputMock ) . toHaveBeenCalledTimes ( 1 ) ;
76
80
} ) ;
@@ -79,6 +83,7 @@ describe("install procedure", () => {
79
83
matlabGetToolcacheDirMock . mockResolvedValue ( [ "/opt/hostedtoolcache/MATLAB/9.13.0/x64" , true ] ) ;
80
84
await expect ( doInstall ( ) ) . resolves . toBeUndefined ( ) ;
81
85
expect ( mpmInstallMock ) . toHaveBeenCalledTimes ( 0 ) ;
86
+ expect ( saveStateMock ) . toHaveBeenCalledTimes ( 0 ) ;
82
87
expect ( addPathMock ) . toHaveBeenCalledTimes ( 1 ) ;
83
88
expect ( setOutputMock ) . toHaveBeenCalledTimes ( 1 ) ;
84
89
} ) ;
@@ -116,6 +121,7 @@ describe("install procedure", () => {
116
121
it ( "rejects when the mpm install fails" , async ( ) => {
117
122
mpmInstallMock . mockRejectedValue ( Error ( "oof" ) ) ;
118
123
await expect ( doInstall ( ) ) . rejects . toBeDefined ( ) ;
124
+ expect ( saveStateMock ) . toHaveBeenCalledTimes ( 0 ) ;
119
125
} ) ;
120
126
121
127
it ( "rejects when the matlab-batch install fails" , async ( ) => {
0 commit comments