public void Given_Existing_10_Items_GetLatest_Returns_All_10_Items() { var noLimit = int.MaxValue; var items = BuildItems(count: 10); this.Items.InsertBatch(items); var storage = new StreamStorage(ConnectionString, DatabaseName); var gotItems = storage.GetLatest(noLimit).ToList(); Assert.That(items.Count, Is.EqualTo(gotItems.Count)); }
public void Given_Existing_10_Items_GetLatest_Returns_Limited_Number_Of_5_Items() { var limit = 5; var items = BuildItems(count: 10); this.Items.InsertBatch(items); var storage = new StreamStorage(ConnectionString, DatabaseName); var gotItems = storage.GetLatest(limit).ToList(); Assert.AreEqual(limit, gotItems.Count); }
public void Given_Existing_10_Items_GetNewer_Returns_Items_Newer_Than_Given_Oldest_Item() { var items = BuildItems(count: 10); var oldestItem = items.First(); var numberOfItems = items.Count - 1; this.Items.InsertBatch(items); var storage = new StreamStorage(ConnectionString, DatabaseName); var gotItems = storage.GetNewer(oldestItem, items.Count).ToList(); Assert.AreEqual(numberOfItems, gotItems.Count); }
public void Given_Existing_10_Items_GetLatest_Returns_Them_Sorted_By_Date_Descending() { var noLimit = int.MaxValue; var items = BuildItems(count: 10); this.Items.InsertBatch(items); var storage = new StreamStorage(ConnectionString, DatabaseName); var gotItems = storage.GetLatest(noLimit).ToList(); Assert.That(gotItems, Is.Ordered.Descending.By("Published")); }
public void ItemStorage_Can_Save_5_Modified_Items_And_Retrieve_Them_Back() { this.Items.InsertBatch(BuildItems(count: 5)); var items = this.Items.AsQueryable().ToList(); foreach (var item in items) { item.Tags = new[] { "test" }; } var storage = new StreamStorage(ConnectionString, DatabaseName); storage.Save(items); var savedItems = this.Items.AsQueryable().ToList(); foreach (var item in savedItems) { Assert.IsTrue(item.Tags.Contains("test")); } }
public void ItemStorage_Can_Save_5_New_And_5_Modified_Items() { this.Items.InsertBatch(BuildItems(count: 5)); var existingItems = this.Items.AsQueryable().ToList(); foreach (var item in existingItems) { item.Tags = new[] { "test" }; } var newItems = BuildItems(count: 5); var items = existingItems.Union(newItems).ToList(); var storage = new StreamStorage(ConnectionString, DatabaseName); storage.Save(items); var savedItems = this.Items.AsQueryable().ToList(); Assert.That(items.Count(), Is.EqualTo(savedItems.Count)); }
public void ItemStorage_Can_Save_10_New_Items() { var items = BuildItems(count: 10); var storage = new StreamStorage(ConnectionString, DatabaseName); storage.Save(items); var savedItems = this.Items.AsQueryable().ToList(); Assert.That(items.Count, Is.EqualTo(savedItems.Count)); }
public void Given_Non_Valid_Id_Get_Returns_Null() { var storage = new StreamStorage(ConnectionString, DatabaseName); var gotItem = storage.Get("id"); Assert.IsNull(gotItem); }
public void Given_MongoDB_Is_Running_ItemStorage_Can_Successfully_Connect() { var storage = new StreamStorage(ConnectionString, DatabaseName); Assert.IsNotNull(storage); }
public void Given_Existing_Item_Get_Returns_It_By_Id() { var item = BuildItems(count: 1).Single(); this.Items.Insert(item); var storage = new StreamStorage(ConnectionString, DatabaseName); var gotItem = storage.Get(item.Id); Assert.IsNotNull(gotItem); Assert.AreEqual(item.Url, gotItem.Url); }
public void Given_Existing_10_Items_Top_Returns_Most_Recent_Item() { var items = BuildItems(count: 10); var latestItem = items.Last(); this.Items.InsertBatch(items); var storage = new StreamStorage(ConnectionString, DatabaseName); var gotItem = storage.Top(); Assert.That(latestItem.Id, Is.EqualTo(gotItem.Id)); }