Sha256: 711b995ac937327d50402dbe04e8dabc64ce18949ed30210db9395c8f5ada275
Contents?: true
Size: 1.51 KB
Versions: 26
Compression:
Stored size: 1.51 KB
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 self.model = ModelB end RSpec.describe DummyBaseB do controller do before_action :set_locale, only: :index def show render plain: model.name end def index render plain: t(:language) 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 describe "#set_locale" do before do I18n.locale = :cs end context "logged user", logged: true do before { Symphonia::User.current.language = :cs } it "enforce language of user" do get :index expect(response.body).to eq "Čeština" Symphonia::User.current.language = :en get :index expect(response.body).to eq "English" end it "ignore :locale params" do get :index, params: { locale: "en" } expect(response.body).to eq "Čeština" end end it "anonymous default language" do get :index expect(response.body).to eq "Čeština" end it "anonymous language by :locale" do get :index, params: { locale: "en" } expect(response.body).to eq "English" end end end
Version data entries
26 entries across 26 versions & 1 rubygems