diff --git a/pom.xml b/pom.xml index 0c9fc3f..2a88d33 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ 21 UTF-8 2.0.0 - 1.0.1 + 2.0.0 0.2.1 0.2.0 2.0.0 diff --git a/src/main/java/net/tfminecraft/activitytf/listeners/ArchaeologyListener.java b/src/main/java/net/tfminecraft/activitytf/listeners/ArchaeologyListener.java index ae7688e..1b3fb36 100644 --- a/src/main/java/net/tfminecraft/activitytf/listeners/ArchaeologyListener.java +++ b/src/main/java/net/tfminecraft/activitytf/listeners/ArchaeologyListener.java @@ -1,6 +1,6 @@ package net.tfminecraft.activitytf.listeners; -import com.nowko.archeology.events.FindRecoveredEvent; +import net.tfminecraft.archaeo.events.FindRecoveredEvent; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; diff --git a/src/test/java/net/tfminecraft/activitytf/listeners/ArchaeologyListenerTest.java b/src/test/java/net/tfminecraft/activitytf/listeners/ArchaeologyListenerTest.java new file mode 100644 index 0000000..bb98111 --- /dev/null +++ b/src/test/java/net/tfminecraft/activitytf/listeners/ArchaeologyListenerTest.java @@ -0,0 +1,42 @@ +package net.tfminecraft.activitytf.listeners; + +import net.tfminecraft.activitytf.managers.ActivityManager; +import net.tfminecraft.activitytf.managers.TestManagers; +import net.tfminecraft.activitytf.models.ActivityDef; +import net.tfminecraft.archaeo.events.FindRecoveredEvent; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.Proxy; +import java.util.UUID; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + +class ArchaeologyListenerTest { + + @Test + void migratedEventCreditsARevealedArchaeologyTask() { + ActivityManager manager = TestManagers.manager( + new ActivityDef("archaeology_find", "archaeology_find", Material.BRUSH, null, 2, 1, 0)); + UUID uuid = UUID.randomUUID(); + assertNotNull(manager.reveal(uuid, 0).revealedId()); + Player player = (Player) Proxy.newProxyInstance(getClass().getClassLoader(), + new Class[]{Player.class}, (proxy, method, args) -> { + if (method.getName().equals("getUniqueId")) return uuid; + throw new UnsupportedOperationException(method.getName()); + }); + + new ArchaeologyListener(manager).onFindRecovered(new FindRecoveredEvent(player, null)); + + assertEquals(1, manager.tasks(uuid).count("archaeology_find")); + } + + @Test + void aNullPlayerIsIgnored() { + assertDoesNotThrow(() -> new ArchaeologyListener(null) + .onFindRecovered(new FindRecoveredEvent(null, null))); + } +}