mirror of
				https://github.com/cse110-fa22-group29/cse110-fa22-group29.git
				synced 2025-10-31 03:46:50 +00:00 
			
		
		
		
	switch unit test framework to jest,
remove framework unittest, add helper module to create unit testing environment
This commit is contained in:
		
							
								
								
									
										10
									
								
								testenv/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								testenv/package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| { | ||||
|   "name": "testenv", | ||||
|   "version": "1.0.0", | ||||
|   "scripts": { | ||||
|     "test": "jest" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "jest": "24" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										28
									
								
								testenv/testenv.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								testenv/testenv.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| module.exports = {environment}; | ||||
|  | ||||
| function environment () { | ||||
| 	const localStorageMock = (function () { | ||||
| 		let store = {}; | ||||
| 		return { | ||||
| 			getItem(key) { | ||||
| 				return store[key]; | ||||
| 			}, | ||||
| 			setItem(key, value) { | ||||
| 				store[key] = value; | ||||
| 			}, | ||||
| 			clear() { | ||||
| 				store = {}; | ||||
| 			}, | ||||
| 			removeItem(key) { | ||||
| 				delete store[key]; | ||||
| 			}, | ||||
| 			getAll() { | ||||
| 				return store; | ||||
| 			}, | ||||
| 		}; | ||||
| 	})(); | ||||
|  | ||||
| 	let window = {}; | ||||
| 	Object.defineProperty(window, "localStorage", { value: localStorageMock }); | ||||
| 	return window; | ||||
| } | ||||
							
								
								
									
										86
									
								
								testenv/testenv.test.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								testenv/testenv.test.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,86 @@ | ||||
| const {environment} = require("./testenv.js"); | ||||
|  | ||||
| function saveToLocal (k, v) { | ||||
| 	window.localStorage.setItem(k, v); | ||||
| } | ||||
|  | ||||
| function getFromLocal (k) { | ||||
| 	return window.localStorage.getItem(k); | ||||
| } | ||||
|  | ||||
| function removeFromLocal (k) { | ||||
| 	window.localStorage.removeItem(k); | ||||
| } | ||||
|  | ||||
| function clearLocal () { | ||||
| 	window.localStorage.clear(); | ||||
| }  | ||||
|  | ||||
| describe("test localStorage mock", () => { | ||||
| 	test("test save and fetch", () => { | ||||
| 		let window = environment(); | ||||
| 		saveToLocal("testkey1", "testvalue1"); | ||||
| 		saveToLocal("testkey2", "testvalue2"); | ||||
| 		saveToLocal("testkey3", "testvalue3"); | ||||
| 		saveToLocal("testkey4", "testvalue4"); | ||||
|  | ||||
| 		expect(getFromLocal("testkey1")).toBe("testvalue1"); | ||||
| 		expect(getFromLocal("testkey2")).toBe("testvalue2"); | ||||
| 		expect(getFromLocal("testkey3")).toBe("testvalue3"); | ||||
| 		expect(getFromLocal("testkey4")).toBe("testvalue4"); | ||||
|  | ||||
| 		saveToLocal("testkey6", "testvalue5"); | ||||
| 		expect(getFromLocal("testkey6")).toBe("testvalue5"); | ||||
| 	}); | ||||
|  | ||||
| 	test("test delete and fetch", () => { | ||||
| 		let window = environment(); | ||||
| 		saveToLocal("testkey1", "testvalue1"); | ||||
| 		saveToLocal("testkey2", "testvalue2"); | ||||
| 		saveToLocal("testkey3", "testvalue3"); | ||||
| 		saveToLocal("testkey4", "testvalue4"); | ||||
|  | ||||
| 		removeFromLocal("testkey3"); | ||||
|  | ||||
| 		expect(getFromLocal("testkey1")).toBe("testvalue1"); | ||||
| 		expect(getFromLocal("testkey2")).toBe("testvalue2"); | ||||
| 		expect(getFromLocal("testkey3")).toBe(null); | ||||
| 		expect(getFromLocal("testkey4")).toBe("testvalue4"); | ||||
|  | ||||
| 		removeFromLocal("testkey1"); | ||||
|  | ||||
| 		expect(getFromLocal("testkey1")).toBe(null); | ||||
| 		expect(getFromLocal("testkey2")).toBe("testvalue2"); | ||||
| 		expect(getFromLocal("testkey3")).toBe(null); | ||||
| 		expect(getFromLocal("testkey4")).toBe("testvalue4"); | ||||
|  | ||||
| 		removeFromLocal("testkey4"); | ||||
| 		 | ||||
| 		expect(getFromLocal("testkey1")).toBe(null); | ||||
| 		expect(getFromLocal("testkey2")).toBe("testvalue2"); | ||||
| 		expect(getFromLocal("testkey3")).toBe(null); | ||||
| 		expect(getFromLocal("testkey4")).toBe(null); | ||||
|  | ||||
| 		removeFromLocal("testkey2"); | ||||
| 		 | ||||
| 		expect(getFromLocal("testkey1")).toBe(null); | ||||
| 		expect(getFromLocal("testkey2")).toBe(null); | ||||
| 		expect(getFromLocal("testkey3")).toBe(null); | ||||
| 		expect(getFromLocal("testkey4")).toBe(null); | ||||
| 	}); | ||||
|  | ||||
| 	test("test delete and fetch", () => { | ||||
| 		let window = environment(); | ||||
| 		saveToLocal("testkey1", "testvalue1"); | ||||
| 		saveToLocal("testkey2", "testvalue2"); | ||||
| 		saveToLocal("testkey3", "testvalue3"); | ||||
| 		saveToLocal("testkey4", "testvalue4"); | ||||
|  | ||||
| 		clearLocal(); | ||||
|  | ||||
| 		expect(getFromLocal("testkey1")).toBe(null); | ||||
| 		expect(getFromLocal("testkey2")).toBe(null); | ||||
| 		expect(getFromLocal("testkey3")).toBe(null); | ||||
| 		expect(getFromLocal("testkey4")).toBe(null); | ||||
| 	}); | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user