loot tracker: fix tracking grubby chest

Co-authored-by: Jonathan Lee <cookmeplox@weirdgloop.org>
This commit is contained in:
Adam
2020-09-28 20:03:37 -04:00
parent deb46aedd6
commit c774117d93
2 changed files with 42 additions and 2 deletions

View File

@@ -49,6 +49,7 @@ import net.runelite.api.Skill;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ItemContainerChanged;
import net.runelite.api.events.WidgetLoaded;
import net.runelite.api.widgets.WidgetID;
import net.runelite.client.account.SessionManager;
@@ -314,4 +315,43 @@ public class LootTrackerPluginTest
assertEquals("Regular Bird House", lootTrackerPlugin.eventType);
assertEquals(LootRecordType.EVENT, lootTrackerPlugin.lootRecordType);
}
@Test
public void testGrubbyChest()
{
Player player = mock(Player.class);
when(player.getWorldLocation()).thenReturn(new WorldPoint(7323 >> 2, (7323 & 0xff) << 6, 0));
when(client.getLocalPlayer()).thenReturn(player);
LootTrackerPlugin lootTrackerPluginSpy = spy(this.lootTrackerPlugin);
doNothing().when(lootTrackerPluginSpy).addLoot(any(), anyInt(), any(), any(), any(Collection.class));
ItemContainer itemContainer = mock(ItemContainer.class);
when(itemContainer.getItems()).thenReturn(new Item[]{
new Item(ItemID.TWISTED_BOW, 1),
new Item(ItemID.GRUBBY_KEY, 1)
});
when(client.getItemContainer(InventoryID.INVENTORY)).thenReturn(itemContainer);
ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.SPAM, "", "You unlock the chest with your key.", "", 0);
lootTrackerPluginSpy.onChatMessage(chatMessage);
when(itemContainer.getItems()).thenReturn(new Item[]{
new Item(ItemID.TWISTED_BOW, 1)
});
lootTrackerPluginSpy.onItemContainerChanged(new ItemContainerChanged(InventoryID.INVENTORY.getId(), itemContainer));
chatMessage = new ChatMessage(null, ChatMessageType.GAMEMESSAGE, "", "You have opened the Grubby Chest 2 times.", "", 0);
lootTrackerPluginSpy.onChatMessage(chatMessage);
when(itemContainer.getItems()).thenReturn(new Item[]{
new Item(ItemID.TWISTED_BOW, 1),
new Item(ItemID.SHARK, 42)
});
lootTrackerPluginSpy.onItemContainerChanged(new ItemContainerChanged(InventoryID.INVENTORY.getId(), itemContainer));
verify(lootTrackerPluginSpy).addLoot("Grubby Chest", -1, LootRecordType.EVENT, null, Arrays.asList(
new ItemStack(ItemID.SHARK, 42, null)
));
}
}