Sha256: 8557cabf3b7e6a24d422d410ed5c076c22d878156cf835dea3c67b0cec84c5d0
Contents?: true
Size: 1.32 KB
Versions: 10
Compression:
Stored size: 1.32 KB
Contents
require 'spec_helper' require_relative '../../../lib/locomotive/steam/middlewares/thread_safe' require_relative '../../../lib/locomotive/steam/middlewares/helpers' require_relative '../../../lib/locomotive/steam/middlewares/locale' describe Locomotive::Steam::Middlewares::Locale do let(:site) { instance_double('Site', default_locale: :de, locales: %w(de fr)) } let(:url) { 'http://models.example.com' } let(:app) { ->(env) { [200, env, 'app'] } } let(:services) { instance_double('Services', :locale= => 'en') } let(:middleware) { Locomotive::Steam::Middlewares::Locale.new(app) } subject do env = env_for(url, 'steam.site' => site) env['steam.request'] = Rack::Request.new(env) env['steam.services'] = services code, env = middleware.call(env) env['steam.locale'] end describe 'locale asked in the request params' do context 'the locale is blank' do let(:url) { 'http://models.example.com?locale=' } it { is_expected.to eq :de } end context 'the locale exists' do let(:url) { 'http://models.example.com?locale=fr' } it { is_expected.to eq 'fr' } end context 'the locale is unknown' do let(:url) { 'http://models.example.com?locale=onload' } it { is_expected.to eq :de } end end end
Version data entries
10 entries across 10 versions & 1 rubygems