Sha256: 4000053b52614ce4cd10e6eb5a2441a138b7e29e900324b7832ac17ccca0413e
Contents?: true
Size: 1.57 KB
Versions: 2
Compression:
Stored size: 1.57 KB
Contents
require 'test_helper' class ActiveRecordStoreTest < ActiveSupport::TestCase setup do Gretel.reset! Gretel::Trail.store = :db @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::Trail::ActiveRecordStore.expires_in end test "encoding" do assert_equal "684c211441e72225cee89477a2d1f59e657c9e26", Gretel::Trail.encode(@links.map { |key, text, url| Gretel::Link.new(key, text, url) }) end test "decoding" do Gretel::Trail.encode(@links.map { |key, text, url| Gretel::Link.new(key, text, url) }) decoded = Gretel::Trail.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::Trail.decode("asdgasdg") end test "delete expired" do 10.times { Gretel::Trail.encode([Gretel::Link.new(:test, SecureRandom.hex(20), "/test")]) } assert_equal 10, Gretel::Trail.count Gretel::Trail.delete_expired assert_equal 10, Gretel::Trail.count Timecop.travel(14.hours.from_now) do 5.times { Gretel::Trail.encode([Gretel::Link.new(:test, SecureRandom.hex(20), "/test")]) } assert_equal 15, Gretel::Trail.count end Timecop.travel(25.hours.from_now) do Gretel::Trail.delete_expired assert_equal 5, Gretel::Trail.count end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gretel-3.0.0.beta4 | test/trails/active_record_store_test.rb |
gretel-3.0.0.beta3 | test/trails/active_record_store_test.rb |