mirror of
				https://github.com/actions/cache.git
				synced 2025-11-04 13:29:10 +08:00 
			
		
		
		
	Added stateprovider mock implementations
This commit is contained in:
		@@ -25,16 +25,15 @@ afterEach(() => {
 | 
				
			|||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
test("StateProvider saves states", async () => {
 | 
					test("StateProvider saves states", async () => {
 | 
				
			||||||
 | 
					    let states = new Map<string, string>();
 | 
				
			||||||
    const getStateMock = jest
 | 
					    const getStateMock = jest
 | 
				
			||||||
        .spyOn(core, "getState")
 | 
					        .spyOn(core, "getState")
 | 
				
			||||||
        .mockImplementation(name =>
 | 
					        .mockImplementation(key => states.get(key) || "");
 | 
				
			||||||
            jest.requireActual("@actions/core").getState(name)
 | 
					 | 
				
			||||||
        );
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const saveStateMock = jest
 | 
					    const saveStateMock = jest
 | 
				
			||||||
        .spyOn(core, "saveState")
 | 
					        .spyOn(core, "saveState")
 | 
				
			||||||
        .mockImplementation((key, value) => {
 | 
					        .mockImplementation((key, value) => {
 | 
				
			||||||
            return jest.requireActual("@actions/core").saveState(key, value);
 | 
					            states.set(key, value);
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const setOutputMock = jest
 | 
					    const setOutputMock = jest
 | 
				
			||||||
@@ -48,9 +47,11 @@ test("StateProvider saves states", async () => {
 | 
				
			|||||||
    const stateProvider: IStateProvider = new StateProvider();
 | 
					    const stateProvider: IStateProvider = new StateProvider();
 | 
				
			||||||
    stateProvider.setState("stateKey", "stateValue");
 | 
					    stateProvider.setState("stateKey", "stateValue");
 | 
				
			||||||
    stateProvider.setState(State.CacheMatchedKey, cacheMatchedKey);
 | 
					    stateProvider.setState(State.CacheMatchedKey, cacheMatchedKey);
 | 
				
			||||||
    stateProvider.getState("stateKey");
 | 
					    let stateValue = stateProvider.getState("stateKey");
 | 
				
			||||||
    stateProvider.getCacheState();
 | 
					    let cacheStateValue = stateProvider.getCacheState();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    expect(stateValue).toBe("stateValue");
 | 
				
			||||||
 | 
					    expect(cacheStateValue).toBe(cacheMatchedKey);
 | 
				
			||||||
    expect(getStateMock).toHaveBeenCalledTimes(2);
 | 
					    expect(getStateMock).toHaveBeenCalledTimes(2);
 | 
				
			||||||
    expect(saveStateMock).toHaveBeenCalledTimes(2);
 | 
					    expect(saveStateMock).toHaveBeenCalledTimes(2);
 | 
				
			||||||
    expect(setOutputMock).toHaveBeenCalledTimes(0);
 | 
					    expect(setOutputMock).toHaveBeenCalledTimes(0);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user