public async Task CartCanAddCartItemAsync() { // Arrange if (!GrainClient.IsInitialized) { GrainClient.Initialize(); } IGrainCart cartGrain = GrainFactory.GetGrain <IGrainCart>(Guid.NewGuid()); Cart cart = new Cart(); // Act try { cart = await cartGrain.AddCartItemAsync(_cartItem); } catch (Exception ex) { throw; } // Assert Assert.IsNotNull(cart); Assert.IsInstanceOfType(cart, typeof(Cart)); Assert.IsNotNull(cart.CartItems); Assert.AreEqual(cart.CartItems.Count, 1); // Clean up await cartGrain.ClearStateAsync(); GrainClient.Uninitialize(); }
public async Task CartCanRemoveCartItemAsync() { // Arrange if (!GrainClient.IsInitialized) { GrainClient.Initialize(); } IGrainCart cartGrain = GrainFactory.GetGrain <IGrainCart>(Guid.NewGuid()); Cart cart = new Cart(); // do we have CartItems? // Act cart = await cartGrain.AddCartItemAsync(_cartItem); cart = await cartGrain.RemoveCartItemAsync(_cartItem); var t = cart.CartItems.Find(i => i.CartItemId == _cartItem.CartItemId); // Assert Assert.IsNotNull(cart); Assert.IsInstanceOfType(cart, typeof(Cart)); Assert.IsNotNull(cart.CartItems); Assert.AreEqual(cart.CartItems.Count, 0); // Clean up await cartGrain.ClearStateAsync(); GrainClient.Uninitialize(); }
public async Task CartCanUpdateCartAsync() { // Arrange if (!GrainClient.IsInitialized) { GrainClient.Initialize(); } IGrainCart cartGrain = GrainFactory.GetGrain <IGrainCart>(Guid.NewGuid()); Cart cart = new Cart(); // Act cart = await cartGrain.AddCartItemAsync(_cartItem); await cartGrain.UpdateCartAsync(); cart = await cartGrain.GetCartAsync(); // Assert Assert.IsNotNull(cart); Assert.IsInstanceOfType(cart, typeof(Cart)); Assert.IsNotNull(cart.CartItems); Assert.AreEqual(cart.Total, 2.58M); // Clean up await cartGrain.ClearStateAsync(); GrainClient.Uninitialize(); }