Sha256: 5d650cff1d6b8fa5f6b7969472cd6fda89be9c7bfd47f8cbaff36f3beb8ee13d

Contents?: true

Size: 1.27 KB

Versions: 5

Compression:

Stored size: 1.27 KB

Contents

require "rails_helper"

describe JoinedVersion, type: :model, versioning: true do
  it { expect(JoinedVersion.superclass).to be PaperTrail::Version }

  let(:widget) { Widget.create!(name: FFaker::Name.name) }
  let(:version) { JoinedVersion.first }

  describe "Scopes" do
    describe "default_scope" do
      it { expect(JoinedVersion.default_scopes).not_to be_empty }
    end

    describe "VersionConcern::ClassMethods" do
      before { widget } # persist a widget

      describe '#subsequent' do
        it "shouldn't error out when there is a default_scope that joins" do
          JoinedVersion.subsequent(version).first
        end
      end

      describe '#preceding' do
        it "shouldn't error out when there is a default scope that joins" do
          JoinedVersion.preceding(version).first
        end
      end

      describe '#between' do
        it "shouldn't error out when there is a default scope that joins" do
          JoinedVersion.between(Time.now, 1.minute.from_now).first
        end
      end
    end
  end

  describe "Methods" do
    describe '#index' do
      it { is_expected.to respond_to(:index) }

      it "shouldn't error out when there is a default scope that joins" do
        widget # persist a widget
        version.index
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
paper_trail-5.2.0 spec/models/joined_version_spec.rb
paper_trail-5.1.1 spec/models/joined_version_spec.rb
paper_trail-5.1.0 spec/models/joined_version_spec.rb
paper_trail-5.0.1 spec/models/joined_version_spec.rb
paper_trail-5.0.0 spec/models/joined_version_spec.rb