public async Task Core_Entity_StoredProcedureEntity_Save() { var db = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var newCustomer = new CustomerInfo(); var resultCustomer = new CustomerInfo(); var dbCustomer = new CustomerInfo(); // Create should update original object, and pass back a fresh-from-db object newCustomer.Fill(testEntities[Arithmetic.Random(1, testEntities.Count)]); using (var writer = new EntityWriter <CustomerInfo>(new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), newCustomer))) { resultCustomer = await writer.SaveAsync(); } Assert.IsTrue(newCustomer.Key != Guid.Empty); Assert.IsTrue(resultCustomer.Id != -1); Assert.IsTrue(resultCustomer.Key != Guid.Empty); // Object in db should match in-memory objects dbCustomer = db.GetById(resultCustomer.Id); Assert.IsTrue(dbCustomer.Id != -1); Assert.IsTrue(dbCustomer.Key != Guid.Empty); Assert.IsTrue(dbCustomer.Id == resultCustomer.Id); Assert.IsTrue(dbCustomer.Key == resultCustomer.Key); RecycleBin.Add(newCustomer.Key); }
public async Task Core_Entity_CustomerInfo_Insert() { var testEntity = new CustomerInfo(); var resultEntity = new CustomerInfo(); // Create and insert record testEntity.Fill(testEntities[Arithmetic.Random(1, testEntities.Count)]); var oldId = testEntity.Id; var oldKey = testEntity.Key; Assert.IsTrue(testEntity.IsNew); Assert.IsTrue(testEntity.Id == -1); Assert.IsTrue(testEntity.Key == Guid.Empty); Assert.IsTrue(!testEntity.FailedRules.Any()); // Do Insert and check passed entity and returned entity var config = new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), testEntity); using (var writer = new EntityWriter <CustomerInfo>(config)) { resultEntity = await writer.CreateAsync(); } Assert.IsTrue(testEntity.Id != -1); Assert.IsTrue(testEntity.Key != Guid.Empty); Assert.IsTrue(resultEntity.Id != -1); Assert.IsTrue(resultEntity.Key != Guid.Empty); Assert.IsTrue(!resultEntity.FailedRules.Any()); // Pull from DB and retest testEntity = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()).GetById(resultEntity.Id); Assert.IsTrue(testEntity.IsNew == false); Assert.IsTrue(testEntity.Id != oldId); Assert.IsTrue(testEntity.Key != oldKey); Assert.IsTrue(testEntity.Id != -1); Assert.IsTrue(testEntity.Key != Guid.Empty); Assert.IsTrue(!testEntity.FailedRules.Any()); // Cleanup RecycleBin.Add(testEntity.Key); }