public void SessionScopeFlushModeNever() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(Post), typeof(Blog)); Recreate(); Post.DeleteAll(); Blog.DeleteAll(); using(new SessionScope(FlushAction.Never)) { Blog blog = new Blog(); blog.Author = "hammett"; blog.Name = "some name"; //This gets flushed automatically because of the identity field blog.Save(); Blog[] blogs = Blog.FindAll(); Assert.AreEqual(1, blogs.Length); //This change won't be saved to the db blog.Author = "A New Author"; blog.Save(); //The change should not be in the db blogs = Blog.FindByProperty("Author", "A New Author"); Assert.AreEqual(0, blogs.Length); SessionScope.Current.Flush(); //The change should now be in the db blogs = Blog.FindByProperty("Author", "A New Author"); Assert.AreEqual(1, blogs.Length); //This change will be save to the db because it uses the SaveNow method blog.Name = "A New Name"; blog.SaveAndFlush(); //The change should now be in the db blogs = Blog.FindByProperty("Name", "A New Name"); Assert.AreEqual(1, blogs.Length); //This deletion should not get to the db blog.Delete(); blogs = Blog.FindAll(); Assert.AreEqual(1, blogs.Length); SessionScope.Current.Flush(); //The deletion should now be in the db blogs = Blog.FindAll(); Assert.AreEqual(0, blogs.Length); } }
public void DeleteAll() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(Post), typeof(Blog)); Recreate(); Post.DeleteAll(); Blog.DeleteAll(); Blog[] blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(0, blogs.Length); Blog blog1 = new Blog(); blog1.Name = "hammett's blog"; blog1.Author = "hamilton verissimo"; blog1.Save(); Blog blog2 = new Blog(); blog2.Name = "richard's blog"; blog2.Author = "g. richard bellamy"; blog2.Save(); blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(2, blogs.Length); Blog.DeleteAll("Author = 'g. richard bellamy'"); blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(1, blogs.Length); Assert.AreEqual("hamilton verissimo", blogs[0].Author); blog1.Delete(); blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(0, blogs.Length); }
public void LifecycleMethods() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(Post), typeof(Blog)); Recreate(); Post.DeleteAll(); Blog.DeleteAll(); Blog blog = new Blog(); Assert.IsTrue(blog.OnDeleteCalled == blog.OnLoadCalled == blog.OnSaveCalled == blog.OnUpdateCalled); blog.Name = "hammett's blog"; blog.Author = "hamilton verissimo"; blog.Save(); Assert.IsTrue(blog.OnSaveCalled); Assert.IsFalse(blog.OnDeleteCalled); Assert.IsFalse(blog.OnLoadCalled); Assert.IsFalse(blog.OnUpdateCalled); blog.Name = "hammett's blog x"; blog.Author = "hamilton verissimo x"; blog.Save(); Assert.IsTrue(blog.OnUpdateCalled); blog = Blog.Find(blog.Id); Assert.IsTrue(blog.OnLoadCalled); blog.Delete(); Assert.IsTrue(blog.OnDeleteCalled); }
public void Delete() { ActiveRecordStarter.Initialize(GetConfigSource(), typeof(Post), typeof(Blog)); Recreate(); Post.DeleteAll(); Blog.DeleteAll(); Blog[] blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(0, blogs.Length); Blog blog = new Blog(); blog.Name = "hammett's blog"; blog.Author = "hamilton verissimo"; blog.Save(); blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(1, blogs.Length); blog.Delete(); blogs = Blog.FindAll(); Assert.IsNotNull(blogs); Assert.AreEqual(0, blogs.Length); }