public async Task UpdateItem_with_condition_failed() { // arrange var customer = NewCustomer(); var(order, items) = NewOrder(customer.Username); await DataAccessClient.CreateCustomerAsync(customer); await DataAccessClient.SaveOrderAsync(order, items); // act var result = await Table.UpdateItem(order.GetPrimaryKey()) .WithCondition(record => record.Status == OrderStatus.Shipped) .Set(record => record.Status, OrderStatus.Delivered) .ExecuteAsync(); // assert result.Should().BeFalse(); }
public async Task BatchGetItemsMixedPartial() { // arrange var customer = NewCustomer(); await DataAccessClient.CreateCustomerAsync(customer); var(order, items) = NewOrder(customer.Username); await DataAccessClient.SaveOrderAsync(order, items); // act var result = await Table.BatchGetItems() .BeginGetItem(customer.GetPrimaryKey()) .Get(record => record.Username) .End() .BeginGetItem(order.GetPrimaryKey()) .Get(record => record.OrderId) .End() .ExecuteAsync(); // assert result.Should().HaveCount(2); // verify fetched customer record var customerRecords = result.OfType <CustomerRecord>().ToList(); customerRecords.Should().HaveCount(1); var fetchedCustomer = customerRecords.First(); fetchedCustomer.Should().NotBeNull(); fetchedCustomer.Username.Should().Be(customer.Username); fetchedCustomer.Name.Should().BeNull(); // verify fetched customer record var orderRecords = result.OfType <OrderRecord>().ToList(); orderRecords.Should().HaveCount(1); var fetchedOrder = orderRecords.First(); fetchedOrder.Should().NotBeNull(); fetchedOrder.OrderId.Should().Be(order.OrderId); fetchedOrder.CustomerUsername.Should().BeNull(); }
public async Task BatchGetItemsMixed() { // arrange var customer = NewCustomer(); await DataAccessClient.CreateCustomerAsync(customer); var(order, items) = NewOrder(customer.Username); await DataAccessClient.SaveOrderAsync(order, items); // act var result = await Table.BatchGetItems() .GetItem(customer.GetPrimaryKey()) .GetItem(order.GetPrimaryKey()) .ExecuteAsync(); // assert result.Should().HaveCount(2); result.Should().ContainEquivalentOf(customer); result.Should().ContainEquivalentOf(order); }
public async Task Add_order() { // arrange var customer = NewCustomer(); var(order, items) = NewOrder(customer.Username); // act await DataAccessClient.CreateCustomerAsync(customer); await DataAccessClient.SaveOrderAsync(order, items); var result = await DataAccessClient.GetCustomerWithMostRecentOrdersAsync(customer.Username, limit : 10); // assert result.Customer.Username.Should().Be(customer.Username); result.Customer.Name.Should().Be(customer.Name); result.Customer.EmailAddress.Should().Be(customer.EmailAddress); result.Orders.Count().Should().Be(1); result.Orders.First().Should().BeEquivalentTo(order); }