1
1
import { kickEachUser } from "../../../src/controllers/kickEachUser" ;
2
- import { transformedArgument , ctx } from "../../fixtures/fixture" ;
2
+ import {
3
+ transformedArgument ,
4
+ ctx ,
5
+ messageRequestMemberMockSuperUser ,
6
+ } from "../../fixtures/fixture" ;
3
7
4
8
describe ( "kickEachUser" , ( ) => {
5
9
it ( "should run when found no users with Matched Role" , async ( ) => {
@@ -13,15 +17,7 @@ describe("kickEachUser", () => {
13
17
const messageRequestMember = {
14
18
roleToBeRemovedObj : roleToBeTaggedObj ,
15
19
channelId : 12345 ,
16
- member : {
17
- user : {
18
- id : 123455 ,
19
- username : "ankush" ,
20
- avatar : "" ,
21
- discriminator : "" ,
22
- } ,
23
- joined_at : "12345" ,
24
- } ,
20
+ ...messageRequestMemberMockSuperUser ,
25
21
} ;
26
22
const response = kickEachUser ( messageRequestMember , env , ctx ) ;
27
23
@@ -36,4 +32,31 @@ describe("kickEachUser", () => {
36
32
`We couldn't find any user(s) assigned to <@&${ roleID } > role.`
37
33
) ;
38
34
} ) ;
35
+
36
+ it ( "should fail when a non super_user runs " , async ( ) => {
37
+ const env = {
38
+ BOT_PUBLIC_KEY : "xyz" ,
39
+ DISCORD_GUILD_ID : "123" ,
40
+ DISCORD_TOKEN : "abc" ,
41
+ } ;
42
+
43
+ const { roleToBeTaggedObj } = transformedArgument ; // Extracting roleToBeTaggedObj
44
+ const messageRequestMember = {
45
+ roleToBeRemovedObj : roleToBeTaggedObj ,
46
+ channelId : 12345 ,
47
+ ...messageRequestMemberMockSuperUser ,
48
+ } ;
49
+ const response = kickEachUser ( messageRequestMember , env , ctx ) ;
50
+
51
+ const roleID = roleToBeTaggedObj . value ;
52
+
53
+ expect ( response ) . toBeInstanceOf ( Promise ) ;
54
+
55
+ const textMessage : { data : { content : string } } = await response . then (
56
+ ( res ) => res . json ( )
57
+ ) ;
58
+ expect ( textMessage . data . content ) . toBe (
59
+ `You're not authorized to make this request.`
60
+ ) ;
61
+ } ) ;
39
62
} ) ;
0 commit comments