spec/models/book_spec.rb in approval-0.2.3 vs spec/models/book_spec.rb in approval-0.3.0
- old
+ new
@@ -1,27 +1,30 @@
require "spec_helper"
RSpec.describe Book, type: :model do
it { is_expected.to have_many(:approval_items).class_name("Approval::Item") }
- describe ".append_ignore_fields" do
- subject { described_class.append_ignore_fields(ignore_fields) }
+ describe ".assign_ignore_fields" do
+ subject { described_class.assign_ignore_fields(ignore_fields) }
- context "when ignore_fields are blank" do
- let(:ignore_fields) { [] }
- it { is_expected.to match_array Approval::Mixins::Resource::DEFAULT_IGNORE_FIELDS }
+ context "when ignore_fields are duplicated symbolized value" do
+ let(:ignore_fields) { %i[id id created_at updated_at] }
+ it { is_expected.to match_array %w[id created_at updated_at] }
end
-
- context "when ignore_fields are present" do
- let(:ignore_fields) { ["published_at"] }
- it { is_expected.to match_array Approval::Mixins::Resource::DEFAULT_IGNORE_FIELDS.dup.concat(["published_at"]) }
- end
end
- describe "#params_for_approval" do
+ describe "#create_params_for_approval" do
let(:book) { build :book }
let(:result) { book.attributes.except("id", "created_at", "updated_at") }
- subject { book.params_for_approval }
+ subject { book.create_params_for_approval }
+ it { is_expected.to eq result }
+ end
+
+ describe "#update_params_for_approval" do
+ let(:book) { create(:book).tap { |book| book.name = "changed name" } }
+ let(:result) { { "name" => "changed name" } }
+
+ subject { book.update_params_for_approval }
it { is_expected.to eq result }
end
end