diff --git a/models/article.ts b/models/article.ts index 37edef1..58e6a9b 100644 --- a/models/article.ts +++ b/models/article.ts @@ -15,6 +15,10 @@ export default class Article { return tag ? tag[1] : ""; } + get isDraft(): boolean { + return this.event.kind === 30024; + } + get url(): string { return `${config.base_url}/${this.naddr}`; } @@ -47,6 +51,7 @@ export default class Article { identifier: this.identifier, pubkey: this.event.pubkey, kind: this.event.kind, + relays: [config.home_relay_url], }); } } diff --git a/tests/models/article_test.ts b/tests/models/article_test.ts index 554dcb3..6f9d6a8 100644 --- a/tests/models/article_test.ts +++ b/tests/models/article_test.ts @@ -20,6 +20,18 @@ describe("Article", () => { }); }); + describe("#isDraft", () => { + it("is false when kind is 30023", () => { + expect(article.isDraft).toBe(false); + }); + + it("is true when kind is 30024", () => { + article.event.kind = 30024; + expect(article.isDraft).toBe(true); + article.event.kind = 30023; + }); + }); + describe("#title", () => { it("returns the content of the 'title' tag", () => { expect(article.title).toMatch( @@ -53,9 +65,9 @@ describe("Article", () => { }); describe("#naddr", () => { - it("returns bech32 addressable event ID", () => { - expect(article.naddr).toEqual( - "naddr1qvzqqqr4gupzq8meqkx80g3yuklzymy0qfx2ekk56aqc2ht4ak03z3em4r4cdcwtqqxnzdejxcenjd3hx5urgwp4676hkz", + it("returns a bech32 addressable event ID", () => { + expect(article.naddr).toMatch( + /naddr1qvzqqqr4gupzq8meqkx80g3yuklzymy0qf/, ); }); });