1
1
package org .togetherjava .tjbot .features .tags ;
2
2
3
- import net .dv8tion .jda .api .Permission ;
4
- import net .dv8tion .jda .api .entities .Member ;
5
3
import net .dv8tion .jda .api .entities .MessageEmbed ;
6
4
import net .dv8tion .jda .api .events .interaction .command .SlashCommandInteractionEvent ;
7
- import net .dv8tion .jda .api .events .interaction .component .ButtonInteractionEvent ;
8
5
import org .junit .jupiter .api .BeforeEach ;
9
6
import org .junit .jupiter .api .DisplayName ;
10
7
import org .junit .jupiter .api .Test ;
17
14
18
15
import javax .annotation .Nullable ;
19
16
20
- import java .util .List ;
21
-
22
17
import static org .junit .jupiter .api .Assertions .assertEquals ;
23
18
import static org .junit .jupiter .api .Assertions .assertNull ;
24
19
import static org .mockito .Mockito .*;
@@ -42,15 +37,6 @@ private SlashCommandInteractionEvent triggerSlashCommand() {
42
37
return event ;
43
38
}
44
39
45
- private ButtonInteractionEvent triggerButtonClick (Member userWhoClicked , long idOfAuthor ) {
46
- ButtonInteractionEvent event = jdaTester .createButtonInteractionEvent ()
47
- .setUserWhoClicked (userWhoClicked )
48
- .setActionRow (TagSystem .createDeleteButton ("foo" ))
49
- .buildWithSingleButton ();
50
- command .onButtonClick (event , List .of (Long .toString (idOfAuthor )));
51
- return event ;
52
- }
53
-
54
40
@ BeforeEach
55
41
void setUp () {
56
42
system = spy (new TagSystem (Database .createMemoryDatabase (Tags .TAGS )));
@@ -100,49 +86,4 @@ void multipleElementListForMultipleTag() {
100
86
• third""" ;
101
87
assertEquals (expectedDescription , getResponseDescription (event ));
102
88
}
103
-
104
- @ Test
105
- @ DisplayName ("The list of tags can be deleted by the original author" )
106
- void authorCanDeleteList () {
107
- // GIVEN a '/tags' message send by an author
108
- long idOfAuthor = 1 ;
109
- Member messageAuthor = jdaTester .createMemberSpy (idOfAuthor );
110
-
111
- // WHEN the original author clicks the delete button
112
- ButtonInteractionEvent event = triggerButtonClick (messageAuthor , idOfAuthor );
113
-
114
- // THEN the '/tags' message is deleted
115
- verify (event .getMessage ()).delete ();
116
- }
117
-
118
- @ Test
119
- @ DisplayName ("The list of tags can be deleted by a moderator" )
120
- void moderatorCanDeleteList () {
121
- // GIVEN a '/tags' message send by an author and a moderator
122
- long idOfAuthor = 1 ;
123
- Member moderator = jdaTester .createMemberSpy (2 );
124
- doReturn (true ).when (moderator ).hasPermission (any (Permission .class ));
125
-
126
- // WHEN the moderator clicks the delete button
127
- ButtonInteractionEvent event = triggerButtonClick (moderator , idOfAuthor );
128
-
129
- // THEN the '/tags' message is deleted
130
- verify (event .getMessage ()).delete ();
131
- }
132
-
133
- @ Test
134
- @ DisplayName ("The list of tags cannot be deleted by other users" )
135
- void othersCanNotDeleteList () {
136
- // GIVEN a '/tags' message send by an author and another user
137
- long idOfAuthor = 1 ;
138
- Member otherUser = jdaTester .createMemberSpy (3 );
139
- doReturn (false ).when (otherUser ).hasPermission (any (Permission .class ));
140
-
141
- // WHEN the other clicks the delete button
142
- ButtonInteractionEvent event = triggerButtonClick (otherUser , idOfAuthor );
143
-
144
- // THEN the '/tags' message is not deleted
145
- verify (event .getMessage (), never ()).delete ();
146
- verify (event ).reply (anyString ());
147
- }
148
89
}
0 commit comments