about summary refs log tree commit diff
path: root/jest
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2023-05-11 16:08:21 -0500
committerGitHub <noreply@github.com>2023-05-11 16:08:21 -0500
commitebcd6333863a2073278fad482981d9898c0f20ca (patch)
tree9417a5c282fc6ce22af2251f437f02b0700c7714 /jest
parent34d8fa59916d87922c83a6cf93e3e288d43dadcc (diff)
downloadvoidsky-ebcd6333863a2073278fad482981d9898c0f20ca.tar.zst
[APP-635] Mutelists (#601)
* Add lists and profilelist screens

* Implement lists screen and lists-list in profiles

* Add empty states to the lists screen

* Switch (mostly) from blocklists to mutelists

* Rework: create a new moderation screen and move everything related under it

* Fix moderation screen on desktop web

* Tune the empty state code

* Change content moderation modal to content filtering

* Add CreateMuteList modal

* Implement mutelist creation

* Add lists listings

* Add the ability to create new mutelists

* Add 'add to list' tool

* Satisfy the hashtag hyphen haters

* Add update/delete/subscribe/unsubscribe to lists

* Show which list caused a mute

* Add list un/subscribe

* Add the mute override when viewing a profile's posts

* Update to latest backend

* Add simulation tests and tune some behaviors

* Fix lint

* Bump deps

* Fix list refresh after creation

* Mute list subscriptions -> Mute lists
Diffstat (limited to 'jest')
-rw-r--r--jest/test-pds.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/jest/test-pds.ts b/jest/test-pds.ts
index 7f8d20232..a75a0034f 100644
--- a/jest/test-pds.ts
+++ b/jest/test-pds.ts
@@ -337,6 +337,32 @@ class Mocker {
       ])
       .execute()
   }
+
+  async createMuteList(user: string, name: string): Promise<string> {
+    const res = await this.users[user]?.agent.app.bsky.graph.list.create(
+      {repo: this.users[user]?.did},
+      {
+        purpose: 'app.bsky.graph.defs#modlist',
+        name,
+        createdAt: new Date().toISOString(),
+      },
+    )
+    await this.users[user]?.agent.app.bsky.graph.muteActorList({
+      list: res.uri,
+    })
+    return res.uri
+  }
+
+  async addToMuteList(owner: string, list: string, subject: string) {
+    await this.users[owner]?.agent.app.bsky.graph.listitem.create(
+      {repo: this.users[owner]?.did},
+      {
+        list,
+        subject,
+        createdAt: new Date().toISOString(),
+      },
+    )
+  }
 }
 
 const checkAvailablePort = (port: number) =>