Sha256: a908bfdc6e98e3054f7b63bdfb067243ad0183d5ad29aa3f0e8daedbff4af366

Contents?: true

Size: 627 Bytes

Versions: 2

Compression:

Stored size: 627 Bytes

Contents

describe "assignment by id" do
  before do
    class Test::Order
      extend Dry::Initializer

      param  :user,    model: "User"
      option :product, model: Item
    end
  end

  let!(:user) { User.create name: "Dude" }
  let!(:item) { Item.create name: "The thing" }

  it "works when records are present" do
    subject = Test::Order.new(user.id, product: item.id)

    expect(subject.user).to eql user
    expect(subject.product).to eql item
  end

  it "works when records are absent" do
    subject = Test::Order.new(0, product: 0)

    expect(subject.user).to be_nil
    expect(subject.product).to be_nil
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dry-initializer-rails-2.0.0 spec/dry/initializer/assignment_by_id_spec.rb
dry-initializer-rails-1.0.0 spec/dry/initializer/assignment_by_id_spec.rb