2017-12-11 04:05:11 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-05-30 04:58:26 +00:00
|
|
|
require "spec_helper"
|
2013-11-15 18:54:30 +00:00
|
|
|
|
2017-04-02 00:13:08 +00:00
|
|
|
RSpec.describe JoinedVersion, type: :model, versioning: true do
|
2016-02-16 03:32:40 +00:00
|
|
|
let(:widget) { Widget.create!(name: FFaker::Name.name) }
|
2013-11-15 18:54:30 +00:00
|
|
|
let(:version) { JoinedVersion.first }
|
|
|
|
|
2017-04-02 00:13:08 +00:00
|
|
|
describe "default_scope" do
|
|
|
|
it { expect(JoinedVersion.default_scopes).not_to be_empty }
|
|
|
|
end
|
2013-11-15 18:54:30 +00:00
|
|
|
|
2017-04-02 00:13:08 +00:00
|
|
|
describe "VersionConcern::ClassMethods" do
|
|
|
|
before { widget } # persist a widget
|
2013-11-15 18:54:30 +00:00
|
|
|
|
2017-04-02 00:13:08 +00:00
|
|
|
describe "#subsequent" do
|
|
|
|
it "does not raise error when there is a default_scope that joins" do
|
|
|
|
JoinedVersion.subsequent(version).first
|
2013-11-15 18:54:30 +00:00
|
|
|
end
|
2017-04-02 00:13:08 +00:00
|
|
|
end
|
2013-11-15 18:54:30 +00:00
|
|
|
|
2017-04-02 00:13:08 +00:00
|
|
|
describe "#preceding" do
|
|
|
|
it "does not raise error when there is a default scope that joins" do
|
|
|
|
JoinedVersion.preceding(version).first
|
2013-11-15 18:54:30 +00:00
|
|
|
end
|
2017-04-02 00:13:08 +00:00
|
|
|
end
|
2013-11-15 18:54:30 +00:00
|
|
|
|
2017-04-02 00:13:08 +00:00
|
|
|
describe "#between" do
|
|
|
|
it "does not raise error when there is a default scope that joins" do
|
2021-03-18 03:32:08 +00:00
|
|
|
JoinedVersion.between(Time.current, 1.minute.from_now).first
|
2013-11-15 18:54:30 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-04-02 00:13:08 +00:00
|
|
|
describe "#index" do
|
|
|
|
it { is_expected.to respond_to(:index) }
|
2013-11-15 18:54:30 +00:00
|
|
|
|
2017-04-02 00:13:08 +00:00
|
|
|
it "does not raise error when there is a default scope that joins" do
|
|
|
|
widget # persist a widget
|
|
|
|
version.index
|
2013-11-15 18:54:30 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|