Files
privacy.sexy/tests/unit/shared/Stubs/CategorySelectionStub.ts
undergroundwires a721e82a4f Bump TypeScript to 5.3 with verbatimModuleSyntax
This commit upgrades TypeScript to the latest version 5.3 and introduces
`verbatimModuleSyntax` in line with the official Vue guide
recommendatinos (vuejs/docs#2592).

By enforcing `import type` for type-only imports, this commit improves
code clarity and supports tooling optimization, ensuring imports are
only bundled when necessary for runtime.

Changes:

- Bump TypeScript to 5.3.3 across the project.
- Adjust import statements to utilize `import type` where applicable,
  promoting cleaner and more efficient code.
2024-02-27 04:20:22 +01:00

34 lines
1.2 KiB
TypeScript

import type { CategorySelection } from '@/application/Context/State/Selection/Category/CategorySelection';
import type { CategorySelectionChangeCommand } from '@/application/Context/State/Selection/Category/CategorySelectionChange';
import { StubWithObservableMethodCalls } from './StubWithObservableMethodCalls';
export class CategorySelectionStub
extends StubWithObservableMethodCalls<CategorySelection>
implements CategorySelection {
public isCategorySelected(categoryId: number, revert: boolean): boolean {
const call = this.callHistory.find(
(c) => c.methodName === 'processChanges'
&& c.args[0].changes.some((change) => (
change.newStatus.isSelected === true
&& change.newStatus.isReverted === revert
&& change.categoryId === categoryId)),
);
return call !== undefined;
}
public areAllScriptsSelected(): boolean {
throw new Error('Method not implemented.');
}
public isAnyScriptSelected(): boolean {
throw new Error('Method not implemented.');
}
public processChanges(action: CategorySelectionChangeCommand): void {
this.registerMethodCall({
methodName: 'processChanges',
args: [action],
});
}
}