Increase testability through dependency injection
- Remove existing integration tests for hooks as they're redundant after this change. - Document the pattern in relevant documentation. - Introduce `useEnvironment` to increase testability. - Update components to inject dependencies rather than importing hooks directly.
This commit is contained in:
@@ -1,16 +1,9 @@
|
||||
import { ApplicationFactory } from '@/application/ApplicationFactory';
|
||||
import { IApplication } from '@/domain/IApplication';
|
||||
|
||||
/* Application is always static */
|
||||
let cachedApplication: IApplication;
|
||||
|
||||
// Running tests through Vue CLI throws 'Top-level-await is only supported in EcmaScript Modules'
|
||||
// This is a temporary workaround until migrating to Vite
|
||||
ApplicationFactory.Current.getApp().then((app) => {
|
||||
cachedApplication = app;
|
||||
});
|
||||
|
||||
export function useApplication(application: IApplication = cachedApplication) {
|
||||
export function useApplication(application: IApplication) {
|
||||
if (!application) {
|
||||
throw new Error('missing application');
|
||||
}
|
||||
return {
|
||||
application,
|
||||
info: application.info,
|
||||
|
||||
Reference in New Issue
Block a user