public async Task UserClient_GetMoney_ToUserThatDoesExist_ReturnsMoney() { // arrange var amount = Rng.Next(); var channel = GetChannel(); var client = new User.UserClient(channel); const string id = "1"; var addQuery = new UserMoneyQuery { Id = id, Amount = amount }; var getQuery = new UserQuery { Id = id }; // act var addResult = await client.AddMoneyAsync(addQuery); var getResult = await client.GetMoneyAsync(getQuery); // assert Assert.AreEqual(Status.Success, addResult.Status, "AddMoney() failed."); Assert.AreEqual(Status.Success, getResult.Status, "GetMoney() failed."); Assert.AreEqual(amount, getResult.Amount); }
public async Task UserClient_AddMoney_ToUserThatDoesExist_ReturnsExtraMoney() { // arrange var startingAmount = Rng.Next(20); var additionalAmount = Rng.Next(20); var channel = GetChannel(); var client = new User.UserClient(channel); const string id = "1"; var createQuery = new UserMoneyQuery { Id = id, Amount = startingAmount }; var addQuery = new UserMoneyQuery { Id = id, Amount = additionalAmount }; // act var createResult = await client.AddMoneyAsync(createQuery); var addResult = await client.AddMoneyAsync(addQuery); // assert Assert.AreEqual(Status.Success, createResult.Status, "AddMoney() failed."); Assert.AreEqual(Status.Success, addResult.Status, "AddMoney() failed."); Assert.AreEqual(startingAmount + additionalAmount, addResult.Amount); }
public override async Task <UserMoneyResult> RemoveMoney(UserMoneyQuery request, ServerCallContext context) { var result = await _database.RemoveUserMoneyAsync(request.Id, request.Amount); return(result.Success ? new UserMoneyResult { Status = Status.Success, Amount = result.Value } : new UserMoneyResult { Status = Status.Failed }); }
public async Task UserClient_AddMoney_ToUserThatDoesNotExist_ReturnsSameMoney() { // arrange var amount = Rng.Next(); var channel = GetChannel(); var client = new User.UserClient(channel); const string id = "1"; var query = new UserMoneyQuery { Id = id, Amount = amount }; // act var result = await client.AddMoneyAsync(query); // assert Assert.AreEqual(Status.Success, result.Status, "AddMoney() failed."); Assert.AreEqual(amount, result.Amount); }