Sha256: 0daa73bd56b18a2bb46ee0f1f48f927f014c49c0efd8eb4dd042c2cbe482ffae

Contents?: true

Size: 913 Bytes

Versions: 3

Compression:

Stored size: 913 Bytes

Contents

require "spec_helper"

RSpec.describe Approval::RequestForm::Update do
  describe "#save" do
    let(:user) { create :user }
    let(:reason) { "reason" }
    let(:form) { described_class.new(user: user, reason: reason, records: records) }

    subject { form.save }

    context "when records is single" do
      let(:records) do
        book = create(:book)
        book.name = "changed name"
        book
      end

      it { expect { subject }.not_to raise_error }
      it { expect { subject }.to change { Approval::Item.count }.from(0).to(1) }
    end

    context "when records is multiple" do
      let(:records) do
        books = create_list(:book, 3)
        books.map.with_index { |book, i| book.name = "changed name #{i}" }
        books
      end

      it { expect { subject }.not_to raise_error }
      it { expect { subject }.to change { Approval::Item.count }.from(0).to(3) }
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
approval-0.3.2 spec/models/request_form/update_spec.rb
approval-0.3.1 spec/models/request_form/update_spec.rb
approval-0.3.0 spec/models/request_form/update_spec.rb