public virtual void Test_save() { using (RepositoryFactory.StartUnitOfWork()) { var item = new RssItemCRUDModel() { FeedItemId = "new", Title = "title_new", Text = "Text_new", Description = "DescriptionNew", Author = "twit_usernew", Url = "url_new", FeedId = _feed.Id, Published = DateTime.Now }; var command = RepositoryFactory.Command<IRssItemCommands>(); using (var tran = RepositoryFactory.StartTransaction()) { item = command.Save(item); tran.Commit(); } TestProvider.WaitForIndexing(); var storedItem = TestProvider.AsQueryable<RssItem>().First(rssItem => rssItem.FeedItemId == item.FeedItemId); Assert.AreEqual(item.FeedItemId, storedItem.FeedItemId); Assert.AreEqual(item.FeedId, storedItem.RssFeed.Id); Assert.AreEqual(item.Title, storedItem.Title); Assert.AreEqual(item.Text, storedItem.Text); Assert.AreEqual(item.Description, storedItem.Description); Assert.AreEqual(item.Published, storedItem.CreatedDate); Assert.AreEqual(item.Published, storedItem.Modified); Assert.AreEqual(item.Published, storedItem.PublishDate); Assert.AreEqual(item.Author, storedItem.Author); Assert.AreEqual(item.Url, storedItem.Url); Assert.AreEqual(false, storedItem.Hidden); Assert.AreEqual(false, storedItem.AreCommentAllowed); item = new RssItemCRUDModel() { FeedItemId = "change", Title = "title_change", Text = "Text_change", Description = "Descriptionchange", Author = "twit_userchange", Url = "url_change", FeedId = _feed.Id, Published = DateTime.Now }; using (var tran = RepositoryFactory.StartTransaction()) { item = command.Save(item); tran.Commit(); } TestProvider.WaitForIndexing(); storedItem = TestProvider.AsQueryable<RssItem>().First(rssItem => rssItem.FeedItemId == item.FeedItemId); Assert.AreEqual(item.FeedItemId, storedItem.FeedItemId); Assert.AreEqual(item.FeedId, storedItem.RssFeed.Id); Assert.AreEqual(item.Title, storedItem.Title); Assert.AreEqual(item.Text, storedItem.Text); Assert.AreEqual(item.Description, storedItem.Description); Assert.AreEqual(item.Published, storedItem.CreatedDate); Assert.AreEqual(item.Published, storedItem.Modified); Assert.AreEqual(item.Published, storedItem.PublishDate); Assert.AreEqual(item.Author, storedItem.Author); Assert.AreEqual(item.Url, storedItem.Url); Assert.AreEqual(false, storedItem.Hidden); Assert.AreEqual(false, storedItem.AreCommentAllowed); } using (RepositoryFactory.StartUnitOfWork()) { var storedItem = TestProvider.AsQueryable<RssItem>().First(rssItem => rssItem.FeedItemId == "change"); var id = storedItem.RssFeed.Id; } }
public virtual void Test_delete() { using (RepositoryFactory.StartUnitOfWork()) { var item = new RssItemCRUDModel() { FeedItemId = "new", Title = "title_new", Text = "Text_new", Description = "DescriptionNew", Author = "twit_usernew", Url = "url_new", FeedId = _feed.Id, Published = DateTime.Now }; var command = RepositoryFactory.Command<IRssItemCommands>(); using (var tran = RepositoryFactory.StartTransaction()) { item = command.Save(item); tran.Commit(); } TestProvider.WaitForIndexing(); Assert.IsNotNull(TestProvider.AsQueryable<RssItem>().FirstOrDefault(rssItem => rssItem.FeedItemId == item.FeedItemId)); using (var tran = RepositoryFactory.StartTransaction()) { command.Delete(item); tran.Commit(); } TestProvider.WaitForIndexing(); var items = command.GetAll().ToArray(); Assert.AreEqual(2, items.Count()); Assert.IsFalse(items.Any(rssItem => rssItem.FeedItemId == item.FeedItemId)); } }