Sha256: a260018355a38f6b898ee6cfe06f842cb538edc3116761de080ee3abf34bac95

Contents?: true

Size: 1.75 KB

Versions: 2

Compression:

Stored size: 1.75 KB

Contents

require 'helper'

class TestVersioning < Test::Unit::TestCase
  context "working with versions" do
    setup do
      BlogPost.delete_all
      User.delete_all

      @blogpost = BlogPost.create(:title => "operating systems",
                                  :body => "list of some operating systems",
                                  :tags => %w[list windows freebsd osx linux],
                                  :updated_by => User.create(:login => "foo"))
    end

    should "generate a new version" do
      @blogpost.versions_count.should == 0
      @blogpost.title = "sistemas operativos"
      @blogpost.save!
      @blogpost.reload
      @blogpost.versions_count.should == 1
    end

    should "be able to generate a diff between versions" do
      @blogpost.title = "sistemas operativos"
      @blogpost.save!
      @blogpost.reload
      @blogpost.diff_by_word(:title, "current", 0, :ascii).should == "{\"operating\" >> \"sistemas\"} {\"systems\" >> \"operativos\"}"
      @blogpost.diff_by_line(:title, 0, "current", :ascii).should == "{\"sistemas operativos\" >> \"operating systems\"}"
    end

    should "be able to restore a previous version" do
      @blogpost.title = "sistemas operativos"
      @blogpost.save!
      @blogpost.reload

      @blogpost.title.should == "sistemas operativos"
      @blogpost.rollback!(0)
      @blogpost.title.should == "operating systems"
    end

    should "respect the max versions limit" do
      @blogpost.title = "sistemas operativos"
      @blogpost.save!
      @blogpost.reload
      @blogpost.title = "sistemas operativos 2"
      @blogpost.save!
      @blogpost.reload
      @blogpost.title = "sistemas operativos 3"
      @blogpost.save!
      @blogpost.reload

      @blogpost.versions.count.should == 2
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mongoid_ext-0.7.1 test/test_versioning.rb
mongoid_ext-0.6.2 test/test_versioning.rb