Пример #1
0
        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;
            }
        }
Пример #2
0
        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));
            }
        }