public void CreateSlug_TitleContainsInvalidChars_RemoveInvalidCharsInSlug(string input, string expected) { var testDataStore = new BlogDataStore(new FakeFileSystem()); var testSlugGenerator = new SlugGenerator(testDataStore); Assert.Equal(expected, testSlugGenerator.CreateSlug(input)); }
public void CreateSlug_SlugIsUnique() { BlogDataStore testDataStore = new BlogDataStore(new FakeFileSystem()); SlugGenerator testSlugGenerator = new SlugGenerator(testDataStore); string slug = testSlugGenerator.CreateSlug("Test Title"); Assert.Equal("Test-Title", slug); }
public void CreateSlug_SlugExists_AppendNumber() { BlogDataStore testDataStore = new BlogDataStore(new FakeFileSystem()); testDataStore.SavePost(new Post { Slug = "test" }); SlugGenerator testSlugGenerator = new SlugGenerator(testDataStore); string slug = testSlugGenerator.CreateSlug("test"); Assert.Equal("test-1", slug); }
public void CreateSlug_ReplacesSpaces() { IFileSystem testFileSystem = new FakeFileSystem(); var testDataStore = new BlogDataStore(testFileSystem); var testSlugGenerator = new SlugGenerator(testDataStore); var test = new Post { Title = "Test title" }; test.Slug = testSlugGenerator.CreateSlug(test.Title); Assert.Equal(test.Slug, "Test-title"); }
public void SavePost(Post post) { Post.Tags = Request.Form["Tags"][0].Replace(" ", "").Split(",").ToList(); SlugGenerator slugGenerator = new SlugGenerator(_dataStore); Post.Slug = slugGenerator.CreateSlug(Post.Title); if (Post.Excerpt == null) { ExcerptGenerator excerptGenerator = new ExcerptGenerator(); Post.Excerpt = excerptGenerator.CreateExcerpt(Post.Body, 140); } _dataStore.SavePost(Post); _blog.Posts.Add(Post); }
public void UpdatePost(Post newPost, string slug) { oldPost = _dataStore.GetPost(slug); newPost.PubDate = oldPost.PubDate; newPost.Tags = Request.Form["Tags"][0].Replace(" ", "").Split(",").ToList(); if (newPost.Excerpt == null) { ExcerptGenerator excerptGenerator = new ExcerptGenerator(); newPost.Excerpt = excerptGenerator.CreateExcerpt(newPost.Body, 140); } if (Request.Form["updateslug"] == "true") { SlugGenerator slugGenerator = new SlugGenerator(_dataStore); newPost.Slug = slugGenerator.CreateSlug(newPost.Title); } else { newPost.Slug = oldPost.Slug; } newPost.Comments = oldPost.Comments; _dataStore.UpdatePost(newPost, oldPost); }