Sha256: 5c5087c70aa23ebd87079f8239a268efbc9836545580e78cc17c152d5b5e10aa

Contents?: true

Size: 1.12 KB

Versions: 3

Compression:

Stored size: 1.12 KB

Contents

require 'test_helper'

class Seiten::SlugBuilderTest < ActiveSupport::TestCase

  test 'should return parameterized title' do
    slug = Seiten::SlugBuilder.call(title: 'My Page')
    assert_equal 'my-page', slug
  end

  test 'should return empty string' do
    slug = Seiten::SlugBuilder.call(title: 'Home', url: '/')
    assert_equal '', slug
    slug = Seiten::SlugBuilder.call(title: 'Home', root: true)
    assert_equal '', slug
  end

  test 'should remove leading slash' do
    slug = Seiten::SlugBuilder.call(title: 'Home', url: '/home')
    assert_equal 'home', slug
  end

  test 'should return external url' do
    slug = Seiten::SlugBuilder.call(title: 'Github', url: 'https://github.com')
    assert_equal 'https://github.com', slug
  end

  test 'should return absolute url' do
    slug = Seiten::SlugBuilder.call(
      {
        title: 'Contact',
        url: '/contact'
      },
      'about'
    )
    assert_equal 'contact', slug
  end

  test 'should return url with prefix' do
    slug = Seiten::SlugBuilder.call(
      {
        title: 'Projects'
      },
      'about'
    )
    assert_equal 'about/projects', slug
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
seiten-1.0.2 test/lib/seiten/slug_builder_test.rb
seiten-1.0.1 test/lib/seiten/slug_builder_test.rb
seiten-1.0.0 test/lib/seiten/slug_builder_test.rb