import { EventEmitter } from 'eventemitter3'; import type { Attribute } from '../src/api'; import type { Article } from '../src/types'; export class MockAttributeModule implements Attribute { public revision: number; private emitter: EventEmitter; constructor() { this.revision = 0; this.emitter = new EventEmitter(); } public addCardListener(ev: (articles: Article[]) => void): void { this.emitter.on('artcile', ev); } public removeCardListener(ev: (articles: Article[]) => void): void { this.emitter.off('article', ev); } public close(): void { } public async setRevision(rev: number): Promise { this.revision = rev; } public async addArticle(sealed: boolean, type: string, subject: string, cardIds: string[], groupIds: string[]): Promise { return ''; } public async removeArticle(articleId: string): Promise { } public async setArticleSubject(articleId: string, subject: string): Promise { } public async setArticleCard(articleId: string, cardId: string): Promise { } public async clearArticleCard(articleId: string, cardId: string): Promise { } public async setArticleGroup(articleId: string, groupId: string): Promise { } public async clearArticleGroup(articleId: string, groupId: string): Promise { } public addArticleListener(ev: (articles: Article[]) => void): void { } public removeArticleListener(ev: (articles: Article[]) => void): void { } }