Sha256: a6fd10c66f8db34de55cd96c04d0181438ec36cca75add4b2bd7561e68cd55a8
Contents?: true
Size: 1.8 KB
Versions: 59
Compression:
Stored size: 1.8 KB
Contents
require "spec_helper" describe Mongoid::Relations::Builders::Embedded::One do let(:base) do double end let(:builder) do described_class.new(base, metadata, object) end describe "#build" do context "when provided nil" do let(:metadata) do double(klass: Name, name: :name) end let(:builder) do described_class.new(nil, metadata, nil) end let(:document) do builder.build end it "returns nil" do expect(document).to be_nil end end context "when provided a document" do let(:metadata) do double(klass: Name, name: :name) end let(:object) do Name.new end let(:document) do builder.build end it "returns the document" do expect(document).to eq(object) end end context "when no type is in the object" do let(:metadata) do double(klass: Name, name: :name) end let(:object) do { "first_name" => "Corbin" } end let(:document) do builder.build end it "creates the correct type of document" do expect(document).to be_a_kind_of(Name) end it "sets the object on the document" do expect(document.first_name).to eq("Corbin") end end context "when a type is in the object" do let(:metadata) do double(klass: Writer, name: :writer) end let(:object) do { "_type" => PdfWriter.name, "speed" => 100 } end let(:document) do builder.build end it "creates the correct type of document" do expect(document).to be_a_kind_of(PdfWriter) end it "sets the object on the document" do expect(document.speed).to eq(100) end end end end
Version data entries
59 entries across 54 versions & 6 rubygems