Sha256: c9fff544576e7b4555b0198a0942673a0097afa2e88a45a8522b6614b7a5a01d

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

require 'test_helper'
require 'fakeredis'

class RedisStoreTest < ActiveSupport::TestCase
  setup do
    Gretel.reset!
    Gretel::Trails.store = :redis
    
    @links = [
      [:root, "Home", "/"],
      [:store, "Store <b>Test</b>".html_safe, "/store"],
      [:search, "Search", "/store/search?q=test"]
    ]
  end

  test "defaults" do
    assert_equal 1.day, Gretel::Trails::RedisStore.expires_in
  end

  test "encoding" do
    assert_equal "684c211441e72225cee89477a2d1f59e657c9e26",
                 Gretel::Trails.encode(@links.map { |key, text, url| Gretel::Link.new(key, text, url) })
  end

  test "decoding" do
    Gretel::Trails.encode(@links.map { |key, text, url| Gretel::Link.new(key, text, url) })
    decoded = Gretel::Trails.decode("684c211441e72225cee89477a2d1f59e657c9e26")
    assert_equal @links, decoded.map { |link| [link.key, link.text, link.url] }
    assert_equal [false, true, false], decoded.map { |link| link.text.html_safe? }
  end

  test "invalid trail" do
    assert_equal [], Gretel::Trails.decode("asdgasdg")
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
gretel-trails-0.0.5 test/stores/redis_store_test.rb
gretel-trails-0.0.4 test/stores/redis_store_test.rb
gretel-trails-0.0.3 test/stores/redis_store_test.rb
gretel-trails-0.0.2 test/stores/redis_store_test.rb