Skip to content

Commit

Permalink
Add tab complete for full balance when depositing/withdrawing
Browse files Browse the repository at this point in the history
  • Loading branch information
tastybento committed Sep 20, 2021
1 parent f8ffb4b commit b757037
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package world.bentobox.bank.commands.user;

import java.util.Collections;
import java.util.List;
import java.util.Optional;

import net.milkbowl.vault.economy.EconomyResponse;
import net.milkbowl.vault.economy.EconomyResponse.ResponseType;
Expand Down Expand Up @@ -71,4 +73,10 @@ public boolean execute(User user, String label, List<String> args) {
return false;
}

@Override
public Optional<List<String>> tabComplete(User user, String alias, List<String> args) {
VaultHook vault = addon.getVault();
String balance = String.valueOf(vault.getBalance(user, getWorld()));
return Optional.of(Collections.singletonList(balance));
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package world.bentobox.bank.commands.user;

import java.util.Collections;
import java.util.List;
import java.util.Optional;

import world.bentobox.bank.commands.AbstractBankCommand;
import world.bentobox.bank.data.Money;
Expand Down Expand Up @@ -66,5 +68,10 @@ public boolean execute(User user, String label, List<String> args) {
return true;
}

@Override
public Optional<List<String>> tabComplete(User user, String alias, List<String> args) {
String balance = String.valueOf(addon.getBankManager().getBalance(user, getWorld()).getValue());
return Optional.of(Collections.singletonList(balance));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import static org.mockito.Mockito.when;

import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;

import org.bukkit.World;
Expand Down Expand Up @@ -244,4 +246,14 @@ public void testCanExecuteOneArgNumberLowBalance() {
verify(user).sendMessage(eq("bank.errors.low-balance"));
}

/**
* Test method for {@link world.bentobox.bank.commands.user.DepositCommand#tabComplete(User, String, java.util.List)
*/
@Test
public void testTabComplete() {
Optional<List<String>> value = dct.tabComplete(user, "", Collections.emptyList());
assertTrue(value.isPresent());
assertEquals("1000.0", value.get().get(0));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
import static org.mockito.Mockito.when;

import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;

import org.bukkit.World;
Expand Down Expand Up @@ -104,6 +106,8 @@ public void setUp() {
PowerMockito.mockStatic(Util.class);
when(Util.getWorld(any())).thenAnswer(arg -> arg.getArgument(0, World.class));

when(ic.getWorld()).thenReturn(world);

wct = new WithdrawCommand(ic);

}
Expand Down Expand Up @@ -231,4 +235,18 @@ public void testExecuteUserStringListOfStringSuccess() {
verify(vh).deposit(eq(user), eq(123.3D), eq(world));
verify(user).sendMessage(eq("bank.withdraw.success"), eq(TextVariables.NUMBER), eq("100.0"));
}

/**
* Test method for {@link world.bentobox.bank.commands.user.WithdrawCommand#tabComplete(User, String, java.util.List)
*/
@Test
public void testTabComplete() {
Optional<List<String>> value = wct.tabComplete(user, "", Collections.emptyList());
assertTrue(value.isPresent());
assertEquals("0.0", value.get().get(0));
when(bankManager.getBalance(any(), any())).thenReturn(new Money(12345D));
value = wct.tabComplete(user, "", Collections.emptyList());
assertEquals("12345.0", value.get().get(0));
}

}

0 comments on commit b757037

Please sign in to comment.