Sha256: d0da9a44f8a40614603ccccd5b053f7aea6cab058a25122fe61126168eca8fbd

Contents?: true

Size: 712 Bytes

Versions: 6

Compression:

Stored size: 712 Bytes

Contents

class ModelA

  def self.find(_)
    new
  end
end

class ModelB

  def self.find(_)
    new
  end
end

class DummyBaseA < Symphonia::ApplicationController
  include Symphonia::BaseController
  self.model = ModelA
end
class DummyBaseB < DummyBaseA
  # include Symphonia::BaseController
  self.model = ModelB
end

RSpec.describe DummyBaseB do
  # subject { described_class.new }
  controller do
    def show
      render plain: model.name
    end
  end
  it "#model" do
    subject = DummyBaseA.new
    expect(subject.model).to eq ModelA
    subject = DummyBaseB.new
    expect(subject.model).to eq ModelB
  end

  it "#show" do
    get :show, params: { id: 1 }
    expect(response.body).to eq "ModelB"
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
symphonia-3.1.5 spec/controllers/base_controller_spec.rb
symphonia-3.1.4 spec/controllers/base_controller_spec.rb
symphonia-3.1.3 spec/controllers/base_controller_spec.rb
symphonia-3.1.2 spec/controllers/base_controller_spec.rb
symphonia-3.1.1 spec/controllers/base_controller_spec.rb
symphonia-3.1.0 spec/controllers/base_controller_spec.rb