Welcome to mirror list, hosted at ThFree Co, Russian Federation.

home_controller_spec.rb « controllers « spec - github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: deb97ecb754429aeead53705d7c712c8fe785b53 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# frozen_string_literal: true

#   Copyright (c) 2010-2012, Diaspora Inc.  This file is
#   licensed under the Affero General Public License version 3 or later.  See
#   the COPYRIGHT file.

describe HomeController, type: :controller do
  describe "#show" do
    it "does not redirect for :html if there is at least one admin" do
      expect(Role).to receive_message_chain(:admins, :any?).and_return(true)
      get :show
      expect(response).not_to be_redirect
    end

    it "redirects to the podmin page for :html if there is no admin" do
      expect(Role).to receive_message_chain(:admins, :any?).and_return(false)
      get :show
      expect(response).to redirect_to(podmin_path)
    end

    it "redirects to the sign in page for :mobile" do
      get :show, format: :mobile
      expect(response).to redirect_to(user_session_path)
    end

    it "redirects to the stream if the user is signed in" do
      sign_in alice
      get :show
      expect(response).to redirect_to(stream_path)
    end
  end

  describe "#podmin" do
    it "succeeds" do
      get :podmin
      expect(response).to be_successful
    end

    it "succeeds on mobile" do
      get :podmin, format: :mobile
      expect(response).to be_successful
    end
  end

  describe "#toggle_mobile" do
    it "changes :mobile to :html" do
      session[:mobile_view] = true
      get :toggle_mobile
      expect(session[:mobile_view]).to be false
    end

    it "changes :html to :mobile" do
      session[:mobile_view] = nil
      get :toggle_mobile
      expect(session[:mobile_view]).to be true
    end
  end

  describe "#force_mobile" do
    it "changes :html to :mobile" do
      session[:mobile_view] = nil
      get :force_mobile
      expect(session[:mobile_view]).to be true
    end

    it "keeps :mobile" do
      session[:mobile_view] = true
      get :force_mobile
      expect(session[:mobile_view]).to be true
    end
  end
end