Added AddonEvent test class.

This commit is contained in:
tastybento 2023-11-25 18:43:18 -08:00
parent 625b70de30
commit 9fe5212c3c
1 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1,77 @@
package world.bentobox.bentobox.api.events.addon;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import org.bukkit.Bukkit;
import org.bukkit.plugin.PluginManager;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import world.bentobox.bentobox.api.addons.Addon;
/**
* @author tastybento
*/
@RunWith(PowerMockRunner.class)
@PrepareForTest({ Bukkit.class })
public class AddonEventTest {
@Mock
private Addon mockAddon;
@Mock
private PluginManager mockPluginManager;
@Before
public void setUp() {
PowerMockito.mockStatic(Bukkit.class, Mockito.RETURNS_MOCKS);
when(Bukkit.getPluginManager()).thenReturn(mockPluginManager);
}
@Test
public void testAddonEventBuilderWithEnableReason() {
AddonEvent addonEvent = new AddonEvent();
AddonBaseEvent event = addonEvent.builder().addon(mockAddon).reason(AddonEvent.Reason.ENABLE).build();
assertTrue(event instanceof AddonEnableEvent);
verify(mockPluginManager).callEvent(event);
}
@Test
public void testAddonEventBuilderWithDisableReason() {
AddonEvent addonEvent = new AddonEvent();
AddonBaseEvent event = addonEvent.builder().addon(mockAddon).reason(AddonEvent.Reason.DISABLE).build();
assertTrue(event instanceof AddonDisableEvent);
verify(mockPluginManager).callEvent(event);
}
@Test
public void testAddonEventBuilderWithLoadReason() {
AddonEvent addonEvent = new AddonEvent();
AddonBaseEvent event = addonEvent.builder().addon(mockAddon).reason(AddonEvent.Reason.LOAD).build();
assertTrue(event instanceof AddonLoadEvent);
verify(mockPluginManager).callEvent(event);
}
@Test
public void testAddonEventBuilderWithUnknownReason() {
AddonEvent addonEvent = new AddonEvent();
AddonBaseEvent event = addonEvent.builder().addon(mockAddon).build(); // Default reason is UNKNOWN
assertTrue(event instanceof AddonGeneralEvent);
verify(mockPluginManager).callEvent(event);
}
// Add more tests for other aspects like testing keyValues map, etc.
}