public void GetStoryByIdThrowsException() { // Setup IDocumentStore store = Global.GetInMemoryStore(); StoryRepository repository = new StoryRepository(store); Assert.Throws<ArgumentNullException>(() => repository.GetStoryById("")); Assert.Throws<ArgumentNullException>(() => repository.GetStoryById(null)); }
public void GetStoryByIdReturnsStory() { // Setup Story story = new Story() { EditHistory = new List<EditHistory>() { new EditHistory() { DateAdded = DateTime.Now.AddHours(-1), ParagraphIndex = 45, ParagraphNumber = 2, UserId = "users/2" }, new EditHistory() { DateAdded = DateTime.Now.AddHours(-2), ParagraphIndex = 25, ParagraphNumber = 6, UserId = "users/5" }, new EditHistory() { DateAdded = DateTime.Now.AddHours(-8), ParagraphIndex = 25, ParagraphNumber = 4, UserId = "users/8" } }, Paragraphs = new List<string>() { "para1", "para2", "para3" } }; IDocumentStore store = Global.GetInMemoryStore(); using (var session = store.OpenSession()) { session.Store(story); session.SaveChanges(); } StoryRepository repository = new StoryRepository(store); // Act var savedStory = repository.GetStoryById(story.Id); // Assert Global.AreEqualByJson(story.EditHistory, savedStory.EditHistory); Assert.AreEqual(story.Id, savedStory.Id); Global.AreEqualByJson(story.Paragraphs, savedStory.Paragraphs); }