Sha256: 4446b12bda48ad9b0c576c14d2079e49c87d6185567ec1c7ae0e185d56fce30c
Contents?: true
Size: 1.83 KB
Versions: 1
Compression:
Stored size: 1.83 KB
Contents
require 'spec_helper' require 'json' describe GlobalizeTranslationsController do render_views let(:page) { Capybara::Node::Simple.new(@response.body) } context "JSON" do describe "GET :show" do let(:translations) do get :show, :format => :json JSON.parse(response.body) end it "returns a non-empty JSON" do translations.present?.should be_true end it "returns a JSON with default_locale" do translations["default_locale"].should eq(I18n.default_locale.to_s) end it "returns a JSON with translations" do translations["en"]["helpers"]["select"]["prompt"].should eq("Please select") end end end context "HTML" do describe "GET :show" do context "without being logged in" do before do get :show end it { should respond_with(:forbidden) } end context "when being logged in as admin" do before do controller.stub!(:require_admin).and_return(true) get :show end it { should respond_with(:success) } it "displays Globalize request host" do page.should have_selector('p.request_host') end end end describe "PUT :update" do let(:intro) { "Introduction" } let(:translations) { { :en => { :intro => { :title => intro } } } } before do controller.stub!(:require_admin).and_return(true) GlobalizeApp.any_instance.stub(:fetch_translations) { translations } put :update end it "updates the translations" do I18n.t(:title, :scope => :intro).should eq(intro) end it "sets a flash notice" do flash[:notice].should_not be_empty end it "displays a flash notice" do page.should have_selector('p.notice') end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
exvo_globalize-0.3.1 | spec/controllers/globalize_translations_controller_spec.rb |