@Test public void shouldSavePlayerData() { // given Player player = mock(Player.class); UUID uuid = UUID.nameUUIDFromBytes("New player".getBytes()); given(player.getUniqueId()).willReturn(uuid); given(permissionsManager.getPrimaryGroup(player)).willReturn("primary-grp"); given(player.isOp()).willReturn(true); given(player.getWalkSpeed()).willReturn(1.2f); given(player.getFlySpeed()).willReturn(0.8f); given(player.getAllowFlight()).willReturn(true); World world = mock(World.class); given(world.getName()).willReturn("player-world"); Location location = new Location(world, 0.2, 102.25, -89.28, 3.02f, 90.13f); given(spawnLoader.getPlayerLocationOrSpawn(player)).willReturn(location); // when limboPlayerStorage.saveData(player); // then File playerFile = new File(dataFolder, FileUtils.makePath("playerdata", uuid.toString(), "data.json")); assertThat(playerFile.exists(), equalTo(true)); // TODO ljacqu 20160711: Check contents of file }
@Test public void shouldReadDataFromFile() { // given Player player = mock(Player.class); given(player.getUniqueId()).willReturn(SAMPLE_UUID); World world = mock(World.class); given(bukkitService.getWorld("nether")).willReturn(world); // when LimboPlayer data = limboPlayerStorage.readData(player); // then assertThat(data, not(nullValue())); assertThat(data.isOperator(), equalTo(true)); assertThat(data.isCanFly(), equalTo(true)); assertThat(data.getWalkSpeed(), equalTo(0.2f)); assertThat(data.getFlySpeed(), equalTo(0.1f)); assertThat(data.getGroup(), equalTo("players")); Location location = data.getLocation(); assertThat(location.getX(), equalTo(-113.219)); assertThat(location.getY(), equalTo(72.0)); assertThat(location.getZ(), equalTo(130.637)); assertThat(location.getWorld(), equalTo(world)); assertThat(location.getPitch(), equalTo(24.15f)); assertThat(location.getYaw(), equalTo(-292.484f)); }
@Test public void shouldReturnNullForUnavailablePlayer() { // given Player player = mock(Player.class); given(player.getUniqueId()).willReturn(UUID.nameUUIDFromBytes("other-player".getBytes())); // when LimboPlayer data = limboPlayerStorage.readData(player); // then assertThat(data, nullValue()); }
@Test public void shouldReturnIfHasData() { // given Player player1 = mock(Player.class); given(player1.getUniqueId()).willReturn(SAMPLE_UUID); Player player2 = mock(Player.class); given(player2.getUniqueId()).willReturn(UUID.nameUUIDFromBytes("not-stored".getBytes())); // when / then assertThat(limboPlayerStorage.hasData(player1), equalTo(true)); assertThat(limboPlayerStorage.hasData(player2), equalTo(false)); }