diff options
Diffstat (limited to 'server/tests/api/users/user-notifications.ts')
-rw-r--r-- | server/tests/api/users/user-notifications.ts | 50 |
1 files changed, 34 insertions, 16 deletions
diff --git a/server/tests/api/users/user-notifications.ts b/server/tests/api/users/user-notifications.ts index ae77b4db2..ad68d8e69 100644 --- a/server/tests/api/users/user-notifications.ts +++ b/server/tests/api/users/user-notifications.ts | |||
@@ -37,7 +37,8 @@ import { | |||
37 | getLastNotification, | 37 | getLastNotification, |
38 | getUserNotifications, | 38 | getUserNotifications, |
39 | markAsReadNotifications, | 39 | markAsReadNotifications, |
40 | updateMyNotificationSettings | 40 | updateMyNotificationSettings, |
41 | markAsReadAllNotifications | ||
41 | } from '../../../../shared/utils/users/user-notifications' | 42 | } from '../../../../shared/utils/users/user-notifications' |
42 | import { | 43 | import { |
43 | User, | 44 | User, |
@@ -88,15 +89,15 @@ describe('Test users notifications', function () { | |||
88 | let channelId: number | 89 | let channelId: number |
89 | 90 | ||
90 | const allNotificationSettings: UserNotificationSetting = { | 91 | const allNotificationSettings: UserNotificationSetting = { |
91 | newVideoFromSubscription: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL, | 92 | newVideoFromSubscription: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, |
92 | newCommentOnMyVideo: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL, | 93 | newCommentOnMyVideo: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, |
93 | videoAbuseAsModerator: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL, | 94 | videoAbuseAsModerator: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, |
94 | blacklistOnMyVideo: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL, | 95 | blacklistOnMyVideo: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, |
95 | myVideoImportFinished: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL, | 96 | myVideoImportFinished: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, |
96 | myVideoPublished: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL, | 97 | myVideoPublished: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, |
97 | commentMention: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL, | 98 | commentMention: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, |
98 | newFollow: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL, | 99 | newFollow: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL, |
99 | newUserRegistration: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL | 100 | newUserRegistration: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL |
100 | } | 101 | } |
101 | 102 | ||
102 | before(async function () { | 103 | before(async function () { |
@@ -174,7 +175,10 @@ describe('Test users notifications', function () { | |||
174 | }) | 175 | }) |
175 | 176 | ||
176 | it('Should send a new video notification if the user follows the local video publisher', async function () { | 177 | it('Should send a new video notification if the user follows the local video publisher', async function () { |
178 | this.timeout(10000) | ||
179 | |||
177 | await addUserSubscription(servers[0].url, userAccessToken, 'root_channel@localhost:9001') | 180 | await addUserSubscription(servers[0].url, userAccessToken, 'root_channel@localhost:9001') |
181 | await waitJobs(servers) | ||
178 | 182 | ||
179 | const { name, uuid } = await uploadVideoByLocalAccount(servers) | 183 | const { name, uuid } = await uploadVideoByLocalAccount(servers) |
180 | await checkNewVideoFromSubscription(baseParams, name, uuid, 'presence') | 184 | await checkNewVideoFromSubscription(baseParams, name, uuid, 'presence') |
@@ -184,6 +188,7 @@ describe('Test users notifications', function () { | |||
184 | this.timeout(50000) // Server 2 has transcoding enabled | 188 | this.timeout(50000) // Server 2 has transcoding enabled |
185 | 189 | ||
186 | await addUserSubscription(servers[0].url, userAccessToken, 'root_channel@localhost:9002') | 190 | await addUserSubscription(servers[0].url, userAccessToken, 'root_channel@localhost:9002') |
191 | await waitJobs(servers) | ||
187 | 192 | ||
188 | const { name, uuid } = await uploadVideoByRemoteAccount(servers) | 193 | const { name, uuid } = await uploadVideoByRemoteAccount(servers) |
189 | await checkNewVideoFromSubscription(baseParams, name, uuid, 'presence') | 194 | await checkNewVideoFromSubscription(baseParams, name, uuid, 'presence') |
@@ -822,8 +827,9 @@ describe('Test users notifications', function () { | |||
822 | }) | 827 | }) |
823 | 828 | ||
824 | it('Should notify when a local channel is following one of our channel', async function () { | 829 | it('Should notify when a local channel is following one of our channel', async function () { |
825 | await addUserSubscription(servers[0].url, servers[0].accessToken, 'user_1_channel@localhost:9001') | 830 | this.timeout(10000) |
826 | 831 | ||
832 | await addUserSubscription(servers[0].url, servers[0].accessToken, 'user_1_channel@localhost:9001') | ||
827 | await waitJobs(servers) | 833 | await waitJobs(servers) |
828 | 834 | ||
829 | await checkNewActorFollow(baseParams, 'channel', 'root', 'super root name', myChannelName, 'presence') | 835 | await checkNewActorFollow(baseParams, 'channel', 'root', 'super root name', myChannelName, 'presence') |
@@ -832,8 +838,9 @@ describe('Test users notifications', function () { | |||
832 | }) | 838 | }) |
833 | 839 | ||
834 | it('Should notify when a remote channel is following one of our channel', async function () { | 840 | it('Should notify when a remote channel is following one of our channel', async function () { |
835 | await addUserSubscription(servers[1].url, servers[1].accessToken, 'user_1_channel@localhost:9001') | 841 | this.timeout(10000) |
836 | 842 | ||
843 | await addUserSubscription(servers[1].url, servers[1].accessToken, 'user_1_channel@localhost:9001') | ||
837 | await waitJobs(servers) | 844 | await waitJobs(servers) |
838 | 845 | ||
839 | await checkNewActorFollow(baseParams, 'channel', 'root', 'super root 2 name', myChannelName, 'presence') | 846 | await checkNewActorFollow(baseParams, 'channel', 'root', 'super root 2 name', myChannelName, 'presence') |
@@ -895,6 +902,15 @@ describe('Test users notifications', function () { | |||
895 | expect(notification.read).to.be.false | 902 | expect(notification.read).to.be.false |
896 | } | 903 | } |
897 | }) | 904 | }) |
905 | |||
906 | it('Should mark as read all notifications', async function () { | ||
907 | await markAsReadAllNotifications(servers[ 0 ].url, userAccessToken) | ||
908 | |||
909 | const res = await getUserNotifications(servers[ 0 ].url, userAccessToken, 0, 10, true) | ||
910 | |||
911 | expect(res.body.total).to.equal(0) | ||
912 | expect(res.body.data).to.have.lengthOf(0) | ||
913 | }) | ||
898 | }) | 914 | }) |
899 | 915 | ||
900 | describe('Notification settings', function () { | 916 | describe('Notification settings', function () { |
@@ -928,13 +944,13 @@ describe('Test users notifications', function () { | |||
928 | 944 | ||
929 | it('Should only have web notifications', async function () { | 945 | it('Should only have web notifications', async function () { |
930 | await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, { | 946 | await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, { |
931 | newVideoFromSubscription: UserNotificationSettingValue.WEB_NOTIFICATION | 947 | newVideoFromSubscription: UserNotificationSettingValue.WEB |
932 | })) | 948 | })) |
933 | 949 | ||
934 | { | 950 | { |
935 | const res = await getMyUserInformation(servers[0].url, userAccessToken) | 951 | const res = await getMyUserInformation(servers[0].url, userAccessToken) |
936 | const info = res.body as User | 952 | const info = res.body as User |
937 | expect(info.notificationSettings.newVideoFromSubscription).to.equal(UserNotificationSettingValue.WEB_NOTIFICATION) | 953 | expect(info.notificationSettings.newVideoFromSubscription).to.equal(UserNotificationSettingValue.WEB) |
938 | } | 954 | } |
939 | 955 | ||
940 | const { name, uuid } = await uploadVideoByLocalAccount(servers) | 956 | const { name, uuid } = await uploadVideoByLocalAccount(servers) |
@@ -976,13 +992,15 @@ describe('Test users notifications', function () { | |||
976 | 992 | ||
977 | it('Should have email and web notifications', async function () { | 993 | it('Should have email and web notifications', async function () { |
978 | await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, { | 994 | await updateMyNotificationSettings(servers[0].url, userAccessToken, immutableAssign(allNotificationSettings, { |
979 | newVideoFromSubscription: UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL | 995 | newVideoFromSubscription: UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL |
980 | })) | 996 | })) |
981 | 997 | ||
982 | { | 998 | { |
983 | const res = await getMyUserInformation(servers[0].url, userAccessToken) | 999 | const res = await getMyUserInformation(servers[0].url, userAccessToken) |
984 | const info = res.body as User | 1000 | const info = res.body as User |
985 | expect(info.notificationSettings.newVideoFromSubscription).to.equal(UserNotificationSettingValue.WEB_NOTIFICATION_AND_EMAIL) | 1001 | expect(info.notificationSettings.newVideoFromSubscription).to.equal( |
1002 | UserNotificationSettingValue.WEB | UserNotificationSettingValue.EMAIL | ||
1003 | ) | ||
986 | } | 1004 | } |
987 | 1005 | ||
988 | const { name, uuid } = await uploadVideoByLocalAccount(servers) | 1006 | const { name, uuid } = await uploadVideoByLocalAccount(servers) |