public async void TestGenericOperations_DependentEntityRepository() { var repo = new TestDependentEntityRepo(_tableName, _serviceUrl); var parentId = "P0001"; var list = await repo.TableQueryItemsByParentIdAsync(parentId); Assert.Equal(0, list.Count); var te1 = new TestEntity { Id = "TE1", Name = "TestEntity TE1" }; await repo.AddItemAsync(parentId, "TE1", te1); list = await repo.TableQueryItemsByParentIdAsync(parentId); Assert.Equal(1, list.Count); var te2 = new TestEntity { Id = "TE2", Name = "TestEntity TE2" }; await repo.AddItemAsync(parentId, "TE2", te2); list = await repo.TableQueryItemsByParentIdAsync(parentId); Assert.Equal(2, list.Count); var found1 = await repo.GetItemAsync(parentId, te1.Id); Assert.NotNull(found1); Assert.Equal("TE1", found1.Id); Assert.Equal("TestEntity TE1", found1.Name); var found2 = await repo.GetItemAsync(parentId, te2.Id); Assert.NotNull(found2); Assert.Equal("TE2", found2.Id); Assert.Equal("TestEntity TE2", found2.Name); await repo.DeleteItemAsync(parentId, te1.Id); list = await repo.TableQueryItemsByParentIdAsync(parentId); Assert.Equal(1, list.Count); var deleted1 = await repo.GetItemAsync(parentId, te1.Id); Assert.Null(deleted1); await repo.DeleteItemAsync(parentId, te2.Id); list = await repo.TableQueryItemsByParentIdAsync(parentId); Assert.Equal(0, list.Count); var deleted2 = await repo.GetItemAsync(parentId, te1.Id); Assert.Null(deleted2); }
public async void TestBatchOperations_DependentEntityRepository() { var parent = new TestEntity { Id = "PTE1" }; var repo = new TestDependentEntityRepo(_tableName, _serviceUrl); var itemsToCreate = new List <KeyValuePair <string, TestEntity> >(); for (int i = 50; i < 60; i++) { var te = new TestEntity { Id = "TE" + i, Name = "TestEntity TE" + i }; itemsToCreate.Add(new KeyValuePair <string, TestEntity>(te.Id, te)); } await repo.BatchAddItemsAsync(parent.Id, itemsToCreate); var list = await repo.TableQueryItemsByParentIdAsync(parent.Id); Assert.Equal(10, list.Count); for (int i = 0; i < 10; i++) { var item = list[i]; var id = i + 50; Assert.NotNull(item); Assert.Equal("TE" + id, item.Id); Assert.Equal("TestEntity TE" + id, item.Name); } var itemsToDelete = new List <string>(); for (int i = 50; i < 60; i++) { var te = new TestEntity { Id = "TE" + i }; itemsToDelete.Add(te.Id); } await repo.BatchDeleteItemsAsync(parent.Id, itemsToDelete); var emptyList = await repo.TableQueryItemsByParentIdAsync(parent.Id); Assert.Empty(emptyList); }