public void AggregatorWithLinkToDetailTest1() { foreach (IDataService ds in DataServices) { var aggregator = new AggregatorUpdateObjectTest { AggregatorName = "aggregatorName" }; var detail = new DetailUpdateObjectTest { DetailName = "detailName" }; // Act & Assert. ds.UpdateObject(aggregator); aggregator = ds.Query <AggregatorUpdateObjectTest>(AggregatorUpdateObjectTest.Views.AggregatorUpdateObjectTestE) .First(x => x.__PrimaryKey == aggregator.__PrimaryKey); aggregator.Details.Add(detail); aggregator.Detail = detail; ds.UpdateObject(aggregator); var master = new MasterUpdateObjectTest { MasterName = "masterName", Detail = detail }; aggregator.Masters.Add(master); detail.Master = master; ds.UpdateObject(aggregator); var aggregatorActual = ds.Query <AggregatorUpdateObjectTest>(AggregatorUpdateObjectTest.Views.AggregatorUpdateObjectTestE) .First(x => x.__PrimaryKey == aggregator.__PrimaryKey); Assert.NotNull(aggregatorActual); Assert.Equal(aggregator.__PrimaryKey, aggregatorActual.__PrimaryKey); Assert.Equal(aggregator.AggregatorName, aggregatorActual.AggregatorName); Assert.Equal(aggregator.Details.Count, aggregatorActual.Details.Count); Assert.Equal(aggregator.Masters.Count, aggregatorActual.Masters.Count); aggregatorActual.SetStatus(ObjectStatus.Deleted); ds.UpdateObject(aggregatorActual); var aggregatorDeleted = ds.Query <AggregatorUpdateObjectTest>(AggregatorUpdateObjectTest.Views.AggregatorUpdateObjectTestE) .FirstOrDefault(x => x.__PrimaryKey == aggregator.__PrimaryKey); var detailDeleted = ds.Query <DetailUpdateObjectTest>(DetailUpdateObjectTest.Views.DetailUpdateObjectTestE) .FirstOrDefault(x => x.__PrimaryKey == detail.__PrimaryKey); var masterDeleted = ds.Query <MasterUpdateObjectTest>(MasterUpdateObjectTest.Views.MasterUpdateObjectTestE) .FirstOrDefault(x => x.__PrimaryKey == detail.__PrimaryKey); Assert.Null(aggregatorDeleted); Assert.Null(detailDeleted); Assert.Null(masterDeleted); } }
public void AggregatorWithLinkToDetailTest() { foreach (IDataService dataService in DataServices) { // Arrange. SQLDataService ds = dataService as SQLDataService; var aggregatorForUpdateExpect = new AggregatorUpdateObjectTest { AggregatorName = "aggregatorName" }; var detailForUpdate = new DetailUpdateObjectTest { DetailName = "detailName" }; // Act & Assert. ds.UpdateObject(aggregatorForUpdateExpect); aggregatorForUpdateExpect = ds.Query <AggregatorUpdateObjectTest>("AggregatorUpdateObjectTestE") .First(x => x.__PrimaryKey == aggregatorForUpdateExpect.__PrimaryKey); aggregatorForUpdateExpect.Details.Add(detailForUpdate); aggregatorForUpdateExpect.Detail = detailForUpdate; ds.UpdateObject(aggregatorForUpdateExpect); var masterOfDetail = new MasterUpdateObjectTest { MasterName = "masterName", Detail = detailForUpdate }; aggregatorForUpdateExpect.Masters.Add(masterOfDetail); detailForUpdate.Master = masterOfDetail; ds.UpdateObject(aggregatorForUpdateExpect); var aggregatorForUpdateActual = ds.Query <AggregatorUpdateObjectTest>("AggregatorUpdateObjectTestE") .First(x => x.__PrimaryKey == aggregatorForUpdateExpect.__PrimaryKey); Assert.NotNull(aggregatorForUpdateActual); Assert.Equal(aggregatorForUpdateExpect.__PrimaryKey, aggregatorForUpdateActual.__PrimaryKey); Assert.Equal(aggregatorForUpdateExpect.AggregatorName, aggregatorForUpdateActual.AggregatorName); Assert.Equal(aggregatorForUpdateExpect.Details.Count, aggregatorForUpdateActual.Details.Count); aggregatorForUpdateActual.SetStatus(ObjectStatus.Deleted); ds.UpdateObject(aggregatorForUpdateActual); var aggregatorForUpdateDeleted = ds.Query <AggregatorUpdateObjectTest>("AggregatorUpdateObjectTestE") .FirstOrDefault(x => x.__PrimaryKey == aggregatorForUpdateExpect.__PrimaryKey); var detailDeleted = ds.Query <DetailUpdateObjectTest>("DetailUpdateObjectTestE") .FirstOrDefault(x => x.__PrimaryKey == detailForUpdate.__PrimaryKey); Assert.Null(aggregatorForUpdateDeleted); Assert.Null(detailDeleted); } }