test: do not use indexedDB in cypress environment due to chrome bug (#13709)
This commit is contained in:
		
							parent
							
								
									5c7c44c9eb
								
							
						
					
					
						commit
						48a7679b8a
					
				|  | @ -30,9 +30,13 @@ Cypress.Commands.add('visitHome', () => { | |||
| }) | ||||
| 
 | ||||
| Cypress.Commands.add('resetState', () => { | ||||
| 	// iframe.contentWindow.indexedDB.deleteDatabase() がchromeのバグで使用できないため、indexedDBを無効化している。
 | ||||
| 	// see https://github.com/misskey-dev/misskey/issues/13605#issuecomment-2053652123
 | ||||
| 	/* | ||||
| 	cy.window().then(win => { | ||||
| 		win.indexedDB.deleteDatabase('keyval-store'); | ||||
| 	}); | ||||
| 	 */ | ||||
| 	cy.request('POST', '/api/reset-db', {}).as('reset'); | ||||
| 	cy.get('@reset').its('status').should('equal', 204); | ||||
| 	cy.reload(true); | ||||
|  |  | |||
|  | @ -15,6 +15,16 @@ const fallbackName = (key: string) => `idbfallback::${key}`; | |||
| 
 | ||||
| let idbAvailable = typeof window !== 'undefined' ? !!(window.indexedDB && window.indexedDB.open) : true; | ||||
| 
 | ||||
| // iframe.contentWindow.indexedDB.deleteDatabase() がchromeのバグで使用できないため、indexedDBを無効化している。
 | ||||
| // バグが治って再度有効化するのであれば、cypressのコマンド内のコメントアウトを外すこと
 | ||||
| // see https://github.com/misskey-dev/misskey/issues/13605#issuecomment-2053652123
 | ||||
| // eslint-disable-next-line @typescript-eslint/ban-ts-comment
 | ||||
| // @ts-expect-error
 | ||||
| if (window.Cypress) { | ||||
| 	idbAvailable = false; | ||||
| 	console.log('Cypress detected. It will use localStorage.'); | ||||
| } | ||||
| 
 | ||||
| if (idbAvailable) { | ||||
| 	await iset('idb-test', 'test') | ||||
| 		.catch(err => { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue