Add task chat command

Co-authored-by: Spedwards <improbablepuzzle@gmail.com>
This commit is contained in:
Adam
2019-01-22 19:13:32 -05:00
parent 31b52d779c
commit 41ae79437e
7 changed files with 376 additions and 1 deletions

View File

@@ -27,31 +27,41 @@ package net.runelite.client.plugins.slayer;
import com.google.inject.Guice;
import com.google.inject.testing.fieldbinder.Bind;
import com.google.inject.testing.fieldbinder.BoundFieldModule;
import java.io.IOException;
import java.util.concurrent.ScheduledExecutorService;
import javax.inject.Inject;
import net.runelite.api.ChatMessageType;
import static net.runelite.api.ChatMessageType.SERVER;
import net.runelite.api.Client;
import net.runelite.api.MessageNode;
import net.runelite.api.Player;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.SetMessage;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.Notifier;
import net.runelite.client.chat.ChatCommandManager;
import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.http.api.chat.ChatClient;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import org.mockito.Mock;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class SlayerPluginTest
{
@@ -129,6 +139,22 @@ public class SlayerPluginTest
@Bind
Notifier notifier;
@Mock
@Bind
ChatMessageManager chatMessageManager;
@Mock
@Bind
ChatCommandManager chatCommandManager;
@Mock
@Bind
ScheduledExecutorService executor;
@Mock
@Bind
ChatClient chatClient;
@Inject
SlayerPlugin slayerPlugin;
@@ -492,4 +518,48 @@ public class SlayerPluginTest
slayerPlugin.killedOne();
assertEquals(30, slayerPlugin.getAmount());
}
@Test
public void testTaskLookup() throws IOException
{
net.runelite.http.api.chat.Task task = new net.runelite.http.api.chat.Task();
task.setTask("task");
task.setLocation("loc");
task.setAmount(42);
task.setInitialAmount(42);
when(slayerConfig.taskCommand()).thenReturn(true);
when(chatClient.getTask(anyString())).thenReturn(task);
SetMessage setMessage = new SetMessage();
setMessage.setType(ChatMessageType.PUBLIC);
setMessage.setName("Adam");
setMessage.setMessageNode(mock(MessageNode.class));
slayerPlugin.taskLookup(setMessage, "!task");
verify(chatMessageManager).update(any(MessageNode.class));
}
@Test
public void testTaskLookupInvalid() throws IOException
{
net.runelite.http.api.chat.Task task = new net.runelite.http.api.chat.Task();
task.setTask("task<");
task.setLocation("loc");
task.setAmount(42);
task.setInitialAmount(42);
when(slayerConfig.taskCommand()).thenReturn(true);
when(chatClient.getTask(anyString())).thenReturn(task);
SetMessage setMessage = new SetMessage();
setMessage.setType(ChatMessageType.PUBLIC);
setMessage.setName("Adam");
setMessage.setMessageNode(mock(MessageNode.class));
slayerPlugin.taskLookup(setMessage, "!task");
verify(chatMessageManager, never()).update(any(MessageNode.class));
}
}