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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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");
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }