From 181843b713fd1a8301e20e9132cf90ad10f50fa7 Mon Sep 17 00:00:00 2001 From: rhenium Date: Thu, 6 Jun 2013 04:09:55 +0900 Subject: add ApplicationHelper spec --- spec/helpers/application_helper_spec.rb | 76 +++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 spec/helpers/application_helper_spec.rb (limited to 'spec') diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb new file mode 100644 index 0000000..c12af76 --- /dev/null +++ b/spec/helpers/application_helper_spec.rb @@ -0,0 +1,76 @@ +# -*- encoding: utf-8 -*- +require "spec_helper" + +describe ApplicationHelper do + describe "#logged_in?" do + context "when logged in" do + before do + session[:account] = FactoryGirl.create(:account_1) + session[:user_id] = session[:account].user_id + end + subject { !!helper.logged_in? } + it { should be true } + end + + context "when not logged in" do + before do + session[:account] = session[:user_id] = nil + end + subject { !!helper.logged_in? } + it { should be false } + end + end + + describe "#format_time" do + let(:str) { "2013-04-14 01:02:03" } + let(:source) { Time.parse("#{str} +09:00") } + subject { helper.format_time(source) } + it { should eq str } + end + + describe "#format_tweet_text" do + subject { helper.format_tweet_text(str) } + context "when contains an @mention" do + let(:str) { "abcde eigt" } + it { should eq "abcde @cn eigt" } + end + context "when contains an url" do + let(:str) { "abcde !!" } + it { should eq "abcde pbs.twimg.com/media/BL6UraBC… !!" } + end + context "when contains a hashtag" do + let(:str) { "aidf end" } + it { should eq "aidf #hashtags end" } + end + context "when contains a symbol" do + let(:str) { "aidf end" } + it { should eq "aidf $kodaira end" } + end + context "when mixed" do + let(:str) { " this " } + it { should eq "@cn $see this #photo pbs.twimg.com/media/BL6UraBC…" } + end + end + + describe "#twitter_status_url" do + let(:user) { FactoryGirl.create(:user) } + let(:tweet) { FactoryGirl.create(:tweet, user: user) } + subject { helper.twitter_status_url(tweet) } + it { should eq "https://twitter.com/#{user.screen_name}/status/#{tweet.id}" } + end + + describe "#twitter_user_url" do + let(:screen_name) { "screen_name" } + subject { helper.twitter_user_url(screen_name) } + it { should eq "https://twitter.com/#{screen_name}" } + end + + describe "#title" do + let(:user) { FactoryGirl.create(:user) } + let(:tweet) { FactoryGirl.create(:tweet, user: user, text: " this > <") } + before { @user = user; @tweet = tweet } + subject { helper.title } + it { should eq "\"@cn $see this #photo > pbs.twimg.com/media/BL6UraBC… <\" from #{user.screen_name} - aclog" } + end +end + -- cgit v1.2.3