public async Task RollAgainstAsync(IUser targetUser, [Remainder] string stat) { ulong discordId = Context.User.Id; ulong targetDiscordId = targetUser.Id; var result = await _controller.RollStatisticAgainstAsync(discordId, targetDiscordId, stat); await ReplyAsync(result.Message); }
public async Task RollAgainst_InvalidStatValues_ReturnRollFailed() { // Arrange var provider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new RollController(provider, statProvider, new MockRollStrategy()); // Act var result = await controller.RollStatisticAgainstAsync(1, 2, "strength"); // Assert Assert.Equal(RollResult.RollFailed(), result); }
public async Task RollAgainst_InvalidStat_ReturnStatNotFound() { // Arrange var provider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new RollController(provider, statProvider, new MockRollStrategy()); // Act var result = await controller.RollStatisticAgainstAsync(1, 2, "invalid"); // Assert Assert.Equal(StatisticResult.StatisticNotFound(), result); }
public async Task RollAgainst_InvalidTarget_ReturnCharacterNotFound() { // Arrange var provider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new RollController(provider, statProvider, new MockRollStrategy()); // Act var result = await controller.RollStatisticAgainstAsync(1, 0, "strength"); // Assert Assert.Equal(CharacterResult.CharacterNotFound(), result); }
public async Task RollAgainst_ValidValues_ReturnSuccess() { // Arrange var statProvider = new MockStatisticProvider(); var strength = await statProvider.GetStatisticAsync("Strength"); var provider = new MockCharacterProvider(); // Give characters statistics (await provider.GetAllCharactersAsync(1))[0].SetStatistic(strength, new StatisticValue(5)); (await provider.GetAllCharactersAsync(2))[0].SetStatistic(strength, new StatisticValue(5)); var controller = new RollController(provider, statProvider, new MockRollStrategy()); // Act var result = await controller.RollStatisticAgainstAsync(1, 2, "strength"); // Assert Assert.True(result.GetType() == typeof(RollResult) && result.IsSuccess); }