1- // Copyright 2020-2024 The MathWorks, Inc.
1+ // Copyright 2020-2025 The MathWorks, Inc.
22
33import * as core from "@actions/core" ;
44import * as cache from "./cache-restore" ;
55import * as install from "./install" ;
66import * as matlab from "./matlab" ;
77import * as mpm from "./mpm" ;
8+ import { State } from './install-state' ;
89
910jest . mock ( "@actions/core" ) ;
1011jest . mock ( "./matlab" ) ;
@@ -22,6 +23,7 @@ describe("install procedure", () => {
2223 let matlabSetupBatchMock : jest . Mock ;
2324 let mpmSetupMock : jest . Mock ;
2425 let mpmInstallMock : jest . Mock ;
26+ let saveStateMock : jest . Mock ;
2527 let addPathMock : jest . Mock ;
2628 let setOutputMock : jest . Mock ;
2729 let restoreMATLABMock : jest . Mock ;
@@ -49,6 +51,7 @@ describe("install procedure", () => {
4951 matlabSetupBatchMock = matlab . setupBatch as jest . Mock ;
5052 mpmSetupMock = mpm . setup as jest . Mock ;
5153 mpmInstallMock = mpm . install as jest . Mock ;
54+ saveStateMock = core . saveState as jest . Mock ;
5255 addPathMock = core . addPath as jest . Mock ;
5356 setOutputMock = core . setOutput as jest . Mock ;
5457 restoreMATLABMock = cache . restoreMATLAB as jest . Mock ;
@@ -71,6 +74,7 @@ describe("install procedure", () => {
7174 expect ( matlabSetupBatchMock ) . toHaveBeenCalledTimes ( 1 ) ;
7275 expect ( mpmSetupMock ) . toHaveBeenCalledTimes ( 1 ) ;
7376 expect ( mpmInstallMock ) . toHaveBeenCalledTimes ( 1 ) ;
77+ expect ( saveStateMock ) . toHaveBeenCalledWith ( State . InstallSuccessful , 'true' ) ;
7478 expect ( addPathMock ) . toHaveBeenCalledTimes ( 1 ) ;
7579 expect ( setOutputMock ) . toHaveBeenCalledTimes ( 1 ) ;
7680 } ) ;
@@ -79,6 +83,7 @@ describe("install procedure", () => {
7983 matlabGetToolcacheDirMock . mockResolvedValue ( [ "/opt/hostedtoolcache/MATLAB/9.13.0/x64" , true ] ) ;
8084 await expect ( doInstall ( ) ) . resolves . toBeUndefined ( ) ;
8185 expect ( mpmInstallMock ) . toHaveBeenCalledTimes ( 0 ) ;
86+ expect ( saveStateMock ) . toHaveBeenCalledTimes ( 0 ) ;
8287 expect ( addPathMock ) . toHaveBeenCalledTimes ( 1 ) ;
8388 expect ( setOutputMock ) . toHaveBeenCalledTimes ( 1 ) ;
8489 } ) ;
@@ -116,6 +121,7 @@ describe("install procedure", () => {
116121 it ( "rejects when the mpm install fails" , async ( ) => {
117122 mpmInstallMock . mockRejectedValue ( Error ( "oof" ) ) ;
118123 await expect ( doInstall ( ) ) . rejects . toBeDefined ( ) ;
124+ expect ( saveStateMock ) . toHaveBeenCalledTimes ( 0 ) ;
119125 } ) ;
120126
121127 it ( "rejects when the matlab-batch install fails" , async ( ) => {
0 commit comments