mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
0b87e7543f
Rolling out frozen string literals further by freezing all string literals in core specs.
41 lines
1.2 KiB
Ruby
41 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "spec_helper"
|
|
|
|
RSpec.describe ApplicationRecord do
|
|
describe "#most_recently_changed" do
|
|
let!(:work_package) do
|
|
create(:work_package).tap do |wp|
|
|
wp.update_column(:updated_at, 5.days.from_now)
|
|
end
|
|
end
|
|
|
|
let!(:type) do
|
|
create(:type).tap do |type|
|
|
type.update_column(:updated_at, 1.day.from_now)
|
|
end
|
|
end
|
|
|
|
let!(:status) { create(:status) }
|
|
|
|
def expect_matched_date(postgres_time, rails_time)
|
|
# Rails uses timestamp without timezone for timestamp columns
|
|
postgres_utc_iso8601 = Time.zone.parse(postgres_time.to_s).iso8601
|
|
rails_utc_iso8601 = rails_time.iso8601
|
|
|
|
expect(postgres_utc_iso8601).to eq(rails_utc_iso8601)
|
|
end
|
|
|
|
it "returns the most recently changed timestamp of the given resource classes" do
|
|
expect_matched_date described_class.most_recently_changed(WorkPackage, Type, Status),
|
|
work_package.updated_at
|
|
|
|
expect_matched_date described_class.most_recently_changed(Status, Type),
|
|
type.updated_at
|
|
|
|
expect_matched_date described_class.most_recently_changed(Status),
|
|
status.updated_at
|
|
end
|
|
end
|
|
end
|