|
@@ -23,9 +23,11 @@
|
23
|
23
|
package com.dmdirc.commandparser.commands.channel;
|
24
|
24
|
|
25
|
25
|
import com.dmdirc.Channel;
|
|
26
|
+import com.dmdirc.DMDircMBassador;
|
26
|
27
|
import com.dmdirc.commandparser.CommandArguments;
|
27
|
28
|
import com.dmdirc.commandparser.commands.context.ChannelCommandContext;
|
28
|
29
|
import com.dmdirc.config.InvalidIdentityFileException;
|
|
30
|
+import com.dmdirc.events.ChannelModesDiscoveredEvent;
|
29
|
31
|
import com.dmdirc.interfaces.CommandController;
|
30
|
32
|
import com.dmdirc.interfaces.Connection;
|
31
|
33
|
import com.dmdirc.interfaces.WindowModel;
|
|
@@ -36,9 +38,12 @@ import java.util.Optional;
|
36
|
38
|
import org.junit.Before;
|
37
|
39
|
import org.junit.Test;
|
38
|
40
|
import org.junit.runner.RunWith;
|
|
41
|
+import org.mockito.ArgumentCaptor;
|
|
42
|
+import org.mockito.Captor;
|
39
|
43
|
import org.mockito.Mock;
|
40
|
44
|
import org.mockito.runners.MockitoJUnitRunner;
|
41
|
45
|
|
|
46
|
+import static org.junit.Assert.assertEquals;
|
42
|
47
|
import static org.mockito.Mockito.verify;
|
43
|
48
|
import static org.mockito.Mockito.when;
|
44
|
49
|
|
|
@@ -46,10 +51,12 @@ import static org.mockito.Mockito.when;
|
46
|
51
|
public class ModeTest {
|
47
|
52
|
|
48
|
53
|
@Mock private WindowModel origin;
|
|
54
|
+ @Mock private DMDircMBassador eventbus;
|
49
|
55
|
@Mock private CommandController controller;
|
50
|
56
|
@Mock private Channel channel;
|
51
|
57
|
@Mock private Connection connection;
|
52
|
58
|
@Mock private Parser parser;
|
|
59
|
+ @Captor private ArgumentCaptor<ChannelModesDiscoveredEvent> modeDiscoveredCaptor;
|
53
|
60
|
private Mode command;
|
54
|
61
|
|
55
|
62
|
@Before
|
|
@@ -58,6 +65,7 @@ public class ModeTest {
|
58
|
65
|
when(connection.getParser()).thenReturn(Optional.of(parser));
|
59
|
66
|
when(channel.getModes()).thenReturn("my mode string!");
|
60
|
67
|
when(channel.getName()).thenReturn("#chan");
|
|
68
|
+ when(channel.getEventBus()).thenReturn(eventbus);
|
61
|
69
|
|
62
|
70
|
command = new Mode(controller);
|
63
|
71
|
}
|
|
@@ -66,8 +74,8 @@ public class ModeTest {
|
66
|
74
|
public void testWithoutArgs() {
|
67
|
75
|
command.execute(origin, new CommandArguments(controller, "/mode"),
|
68
|
76
|
new ChannelCommandContext(null, Mode.INFO, channel));
|
69
|
|
-
|
70
|
|
- verify(origin).addLine("channelModeDiscovered", "my mode string!", channel);
|
|
77
|
+ verify(eventbus).publishAsync(modeDiscoveredCaptor.capture());
|
|
78
|
+ assertEquals("my mode string!", modeDiscoveredCaptor.getValue().getModes());
|
71
|
79
|
}
|
72
|
80
|
|
73
|
81
|
@Test
|