| ... | ... |
@@ -5,6 +5,10 @@ class ApplicationController < ActionController::Base |
| 5 | 5 |
def require_login |
| 6 | 6 |
if authenticated? |
| 7 | 7 |
create_new_authentification() |
| 8 |
+ |
|
| 9 |
+ unless controller_name == 'chat' |
|
| 10 |
+ redirect_to chat_path |
|
| 11 |
+ end |
|
| 8 | 12 |
else |
| 9 | 13 |
unless controller_name == 'sessions' && (action_name == 'new' || action_name == 'create') |
| 10 | 14 |
redirect_to root_url, flash: {error: I18n.t('login.access-denied')}
|
| ... | ... |
@@ -1,6 +1,10 @@ |
| 1 | 1 |
- content_for :title, t("chat.title")
|
| 2 | 2 |
- content_for :javascript, javascript_include_tag("application")
|
| 3 | 3 |
|
| 4 |
+- if flash[:notice] |
|
| 5 |
+ %div.alert.alert-notice |
|
| 6 |
+ = flash[:notice] |
|
| 7 |
+ |
|
| 4 | 8 |
.container |
| 5 | 9 |
.leftside.left |
| 6 | 10 |
.roster.border.no-top-border.top-border#height-setter-1 |
| ... | ... |
@@ -1,12 +1,12 @@ |
| 1 | 1 |
Xmpp::Application.routes.draw do |
| 2 |
- get "chat/index" |
|
| 2 |
+ get "chat/index" |
|
| 3 | 3 |
|
| 4 |
- resources :sessions, only: [:new, :create, :destroy] |
|
| 4 |
+ resources :sessions, only: [:new, :create, :destroy] |
|
| 5 | 5 |
|
| 6 |
- root :to => 'sessions#new' |
|
| 6 |
+ root :to => 'sessions#new' |
|
| 7 | 7 |
|
| 8 |
- match '/signin', to: 'sessions#new' |
|
| 9 |
- match '/signout', to: 'sessions#destroy', via: :delete |
|
| 8 |
+ match '/signin', to: 'sessions#new' |
|
| 9 |
+ match '/signout', to: 'sessions#destroy', via: :delete |
|
| 10 | 10 |
|
| 11 |
- match '/chat', to: 'chat#index' |
|
| 11 |
+ match '/chat', to: 'chat#index' |
|
| 12 | 12 |
end |
| ... | ... |
@@ -22,18 +22,24 @@ describe "Authentication" do |
| 22 | 22 |
end |
| 23 | 23 |
|
| 24 | 24 |
describe "with valid information" do |
| 25 |
- before do |
|
| 26 |
- fill_in "jid", with: 'bakalar@jabbim.cz' |
|
| 27 |
- fill_in "password", with: 'tralala' |
|
| 28 |
- click_button I18n.t("sessions.new.form-send")
|
|
| 29 |
- end |
|
| 25 |
+ before { signin }
|
|
| 30 | 26 |
|
| 31 |
- #it { should have_title(user.name) }
|
|
| 27 |
+ it { should have_title(I18n.t("chat.title")) }
|
|
| 32 | 28 |
#it { should have_link('Profile', href: user_path(user)) }
|
| 33 | 29 |
#it { should have_link('Logout', href: signout_path) }
|
| 34 |
- #it { should_not have_link('Login', href: signin_path) }
|
|
| 30 |
+ it { should_not have_link('Login', href: signin_path) }
|
|
| 35 | 31 |
|
| 36 |
- it {should have_selector('div.alert.alert-notice', text: 'Success')}
|
|
| 37 |
- end |
|
| 32 |
+ it {should have_selector('div.alert.alert-notice', text: I18n.t("login.success"))}
|
|
| 33 |
+ end |
|
| 34 |
+ |
|
| 35 |
+ describe "remember and redirect" do |
|
| 36 |
+ before do |
|
| 37 |
+ signin |
|
| 38 |
+ visit root_path |
|
| 39 |
+ end |
|
| 40 |
+ |
|
| 41 |
+ it { should have_title(I18n.t("chat.title")) }
|
|
| 42 |
+ it { should_not have_link('Login', href: signin_path) }
|
|
| 43 |
+ end |
|
| 38 | 44 |
end |
| 39 | 45 |
end |
| 40 | 46 |
\ No newline at end of file |
| ... | ... |
@@ -42,3 +42,9 @@ RSpec.configure do |config| |
| 42 | 42 |
# --seed 1234 |
| 43 | 43 |
config.order = "random" |
| 44 | 44 |
end |
| 45 |
+ |
|
| 46 |
+def signin |
|
| 47 |
+ fill_in "jid", with: 'bakalar@jabbim.cz' |
|
| 48 |
+ fill_in "password", with: 'tralala' |
|
| 49 |
+ click_button I18n.t("sessions.new.form-send")
|
|
| 50 |
+end |
|
| 45 | 51 |
\ No newline at end of file |