Sha256: 7b65728b930386d335175dba536e5e9c65af065f71cc236bca14c4c962bdb064
Contents?: true
Size: 1.64 KB
Versions: 61
Compression:
Stored size: 1.64 KB
Contents
# frozen_string_literal: true require "spec_helper" shared_examples_for "traceable interface" do describe "traceable", versioning: true do let(:version_author) { try(:author) || model.try(:creator_identity) || model.try(:normalized_author) } before { Decidim.traceability.update!(model, version_author, title: { en: "test" }) } context "when field createdAt" do let(:query) { "{ versions { createdAt } }" } it "returns created_at field of the version to iso format" do dates = response["versions"].map { |version| version["createdAt"] } expect(dates).to include(*model.versions.map { |version| version.created_at.to_time.iso8601 }) end end context "when field id" do let(:query) { "{ versions { id } }" } it "returns ID field of the version" do ids = response["versions"].map { |version| version["id"].to_i } expect(ids).to include(*model.versions.map(&:id)) end end context "when field editor" do let(:query) { "{ versions { editor { name } } }" } it "returns editor field of the versions" do editors = response["versions"].map { |version| version["editor"]["name"] if version["editor"] } expect(editors).to include(*model.versions.map { |version| version.editor.name if version.respond_to? :editor }) end end context "when field changeset" do let(:query) { "{ versions { changeset } }" } it "returns changeset field of the versions" do changesets = response["versions"].map { |version| version["changeset"] } expect(changesets).to include(*model.versions.map(&:changeset)) end end end end
Version data entries
61 entries across 61 versions & 1 rubygems