iugusdk 1.0.0.alpha.1 → 1.0.0.alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/controllers/iugu/account_controller.rb +24 -28
- data/app/controllers/iugu/account_domains_controller.rb +35 -5
- data/app/controllers/iugu/account_roles_controller.rb +2 -5
- data/app/controllers/iugu/account_users_controller.rb +6 -12
- data/app/controllers/iugu/confirmations_controller.rb +1 -0
- data/app/controllers/iugu/invitations_controller.rb +17 -23
- data/app/controllers/iugu/omniauth_callbacks_controller.rb +3 -1
- data/app/controllers/iugu/passwords_controller.rb +1 -0
- data/app/controllers/iugu/registrations_controller.rb +11 -0
- data/app/controllers/iugu/sessions_controller.rb +1 -0
- data/app/controllers/iugu/settings_controller.rb +14 -0
- data/app/mailers/iugu_mailer.rb +2 -2
- data/app/models/account.rb +15 -0
- data/app/models/account_domain.rb +25 -2
- data/app/models/user.rb +19 -3
- data/app/models/user_invitation.rb +15 -2
- data/app/views/iugu/account_domains/index.html.haml +50 -25
- data/app/views/iugu/account_domains/instructions.html.haml +3 -0
- data/app/views/iugu/account_users/index.html.haml +4 -2
- data/app/views/iugu/invitations/new.html.haml +19 -5
- data/app/views/iugu/registrations/new.html.haml +4 -1
- data/app/views/iugu/sessions/new.html.haml +9 -8
- data/app/views/iugu/settings/account.html.haml +31 -23
- data/app/views/iugu/settings/accounts.html.haml +5 -3
- data/app/views/iugu/settings/profile.html.haml +47 -44
- data/app/views/iugu/shared/_links.haml +14 -11
- data/app/views/layouts/settings.html.haml +1 -1
- data/config/initializers/devise.rb +0 -13
- data/config/locales/iugu.en.yml +6 -0
- data/config/locales/iugu.pt-BR.yml +6 -0
- data/config/routes.rb +9 -4
- data/db/migrate/20120725170859_add_api_token_to_account.rb +9 -0
- data/db/migrate/20120803172545_add_guest_to_users.rb +9 -0
- data/lib/iugusdk/controllers/helpers.rb +1 -1
- data/lib/iugusdk/engine.rb +1 -1
- data/lib/iugusdk/iugusdk_base_controller.rb +17 -0
- data/lib/iugusdk/version.rb +1 -1
- data/lib/iugusdk.rb +30 -5
- data/spec/controller_macros.rb +1 -1
- data/spec/controllers/account_controller_spec.rb +26 -45
- data/spec/controllers/account_domains_controller_spec.rb +87 -5
- data/spec/controllers/account_roles_controller_spec.rb +0 -14
- data/spec/controllers/invitations_controller_spec.rb +21 -1
- data/spec/controllers/registration_controller_spec.rb +15 -0
- data/spec/controllers/settings_controller_spec.rb +105 -0
- data/spec/dummy/db/schema.rb +3 -1
- data/spec/dummy/log/development.log +1579 -0
- data/spec/dummy/tmp/cache/assets/C91/3F0/sprockets%2Fcd844928d19e586b4146833b720e7d29 +0 -0
- data/spec/dummy/tmp/cache/assets/CAA/190/sprockets%2Fee7298fdc707d359368983e09687c627 +0 -0
- data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/CE6/A00/sprockets%2F583256e44957e430e1eca9ba1739b6b6 +0 -0
- data/spec/dummy/tmp/cache/assets/CE7/4B0/sprockets%2Fd3774b9099289a36db44caec70813a19 +0 -0
- data/spec/dummy/tmp/cache/assets/CF1/A70/sprockets%2F368a631d9662bcc4891c91f739b7be37 +0 -0
- data/spec/dummy/tmp/cache/assets/CF6/A50/sprockets%2Ff434c1ed5d55916f790cf698832f76b1 +0 -0
- data/spec/dummy/tmp/cache/assets/CFB/F30/sprockets%2F84131db318a2faf415628c1075c32bdd +0 -0
- data/spec/dummy/tmp/cache/assets/D1A/F20/sprockets%2F102cc77ec78847746b1c164edcb9b639 +0 -0
- data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/D3A/D70/sprockets%2Fa3bc2dd9e66062ea36222fc6154827ee +0 -0
- data/spec/dummy/tmp/cache/assets/D46/E20/sprockets%2F1de16fe0c12f9988664ed66a835a6ab0 +0 -0
- data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/D64/F60/sprockets%2F4755d7f5deef0f3212cb7ae30172a33e +0 -0
- data/spec/dummy/tmp/cache/assets/D69/850/sprockets%2F5c160a5a6d1068a17af57ab38affd379 +0 -0
- data/spec/dummy/tmp/cache/assets/D77/1A0/sprockets%2Ff3864fc006a0674b4c977ff5ca5c7d2e +0 -0
- data/spec/dummy/tmp/cache/assets/D77/920/sprockets%2Faf0e746c541e6cf4540db92c87da579c +0 -0
- data/spec/dummy/tmp/cache/assets/D7A/850/sprockets%2Fd1e5bf9f64829d062ed7314af28a4e7e +0 -0
- data/spec/dummy/tmp/cache/assets/D86/3F0/sprockets%2F8f648e11dfcec044b2997b98f619cfa6 +0 -0
- data/spec/dummy/tmp/cache/assets/DA5/130/sprockets%2F7d741fa9ebe86e96fb2bd116ca91234e +0 -0
- data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/DF2/910/sprockets%2F02db4a9e6f91b47261fa5b0eece2ab8b +0 -0
- data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/E25/5A0/sprockets%2F795f5759cf9bc7cde9f8acf8c0ca479f +0 -0
- data/spec/dummy/tmp/cache/assets/E35/0E0/sprockets%2F9f57eaeefd4c9d5efb41c9801e3f1c1a +0 -0
- data/spec/dummy/tmp/cache/sass/e5be18dde92936a4632e65289dad5788ed73dd60/settings.sassc +0 -0
- data/spec/dummy/tmp/cache/sass/e764476e9a85279ad82622591ce49983ed21c149/default.sassc +0 -0
- data/spec/fabricators/account_domain_fabricator.rb +5 -1
- data/spec/models/account_domain_spec.rb +49 -12
- data/spec/models/account_spec.rb +32 -4
- data/spec/models/user_invitation_spec.rb +23 -1
- data/spec/models/user_spec.rb +76 -0
- data/spec/requests/account_domain_spec.rb +71 -37
- data/spec/requests/account_roles_spec.rb +1 -0
- data/spec/requests/account_spec.rb +65 -3
- data/spec/requests/account_users_spec.rb +1 -0
- data/spec/requests/omniauth_spec.rb +34 -0
- data/spec/requests/settings_spec.rb +4 -4
- data/spec/requests/user_invitation_spec.rb +32 -1
- data/spec/requests/user_spec.rb +13 -0
- metadata +126 -70
- data/lib/iugusdk/locale_filter.rb +0 -12
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
describe 'omniauth requests' do
|
|
4
|
+
before(:each) do
|
|
5
|
+
IuguSDK::enable_social_login = true
|
|
6
|
+
IuguSDK::enable_social_linking = true
|
|
7
|
+
end
|
|
4
8
|
context "provider not found" do
|
|
5
9
|
before(:each) do
|
|
6
10
|
visit '/account/auth/orkut'
|
|
@@ -10,6 +14,35 @@ describe 'omniauth requests' do
|
|
|
10
14
|
|
|
11
15
|
end
|
|
12
16
|
|
|
17
|
+
context "when not signed in" do
|
|
18
|
+
context "and enable_social_login == false" do
|
|
19
|
+
before(:each) do
|
|
20
|
+
IuguSDK::enable_social_login = false
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it 'should raise RoutingError' do
|
|
24
|
+
lambda {
|
|
25
|
+
visit '/account/auth/facebook'
|
|
26
|
+
}.should raise_error ActionController::RoutingError
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
context "when signed in" do
|
|
32
|
+
context "and enable_social_linking == false" do
|
|
33
|
+
before(:each) do
|
|
34
|
+
IuguSDK::enable_social_linking = false
|
|
35
|
+
visit '/account/auth/facebook'
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'should raise RoutingError' do
|
|
39
|
+
lambda {
|
|
40
|
+
visit '/account/auth/facebook'
|
|
41
|
+
}.should raise_error ActionController::RoutingError
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
13
46
|
context "facebook" do
|
|
14
47
|
context 'not signed in' do
|
|
15
48
|
before(:each) do
|
|
@@ -17,6 +50,7 @@ describe 'omniauth requests' do
|
|
|
17
50
|
end
|
|
18
51
|
|
|
19
52
|
it { page.should have_content "signed in" }
|
|
53
|
+
|
|
20
54
|
end
|
|
21
55
|
|
|
22
56
|
context "already signed in" do
|
|
@@ -6,9 +6,9 @@ describe "Settings requests" do
|
|
|
6
6
|
visit '/account/auth/facebook'
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
-
context "when
|
|
9
|
+
context "when enable_multiple_accounts == false" do
|
|
10
10
|
before(:each) do
|
|
11
|
-
IuguSDK::
|
|
11
|
+
IuguSDK::enable_multiple_accounts = false
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
context "when user has only 1 account" do
|
|
@@ -37,9 +37,9 @@ describe "Settings requests" do
|
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
context "when
|
|
40
|
+
context "when enable_multiple_accounts == true" do
|
|
41
41
|
before(:each) do
|
|
42
|
-
IuguSDK::
|
|
42
|
+
IuguSDK::enable_multiple_accounts = true
|
|
43
43
|
visit settings_path
|
|
44
44
|
end
|
|
45
45
|
|
|
@@ -26,7 +26,8 @@ describe 'UserInvitations requests' do
|
|
|
26
26
|
visit'/account/auth/facebook'
|
|
27
27
|
@user = User.last
|
|
28
28
|
@account = @user.accounts.first
|
|
29
|
-
|
|
29
|
+
@account.users << Fabricate(:user, :email => "tester@roles.test")
|
|
30
|
+
visit new_invite_path(:account_id => @account.id)
|
|
30
31
|
end
|
|
31
32
|
|
|
32
33
|
APP_ROLES['roles'].each do |role|
|
|
@@ -36,7 +37,37 @@ describe 'UserInvitations requests' do
|
|
|
36
37
|
it { page.should have_content 'Email' }
|
|
37
38
|
|
|
38
39
|
it { page.should have_button I18n.t("iugu.invite") }
|
|
40
|
+
|
|
41
|
+
context "when current_user is owner" do
|
|
42
|
+
before(:each) do
|
|
43
|
+
@account_user = AccountUser.find_by_user_id_and_account_id(@user.id, @account.id)
|
|
44
|
+
@account_user.set_roles ["owner"]
|
|
45
|
+
visit new_invite_path(@account.id)
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
APP_ROLES['roles'].each do |role|
|
|
49
|
+
it { page.should have_content role }
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
39
53
|
|
|
54
|
+
context "when current_user is admin" do
|
|
55
|
+
before(:each) do
|
|
56
|
+
@account_user = AccountUser.find_by_user_id_and_account_id(@user.id, @account.id)
|
|
57
|
+
@account_user.set_roles ["admin"]
|
|
58
|
+
visit new_invite_path(@account.id)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
APP_ROLES['roles'].each do |role|
|
|
62
|
+
unless role == APP_ROLES['owner_role'] || role == APP_ROLES['admin_role']
|
|
63
|
+
it { page.should have_content role }
|
|
64
|
+
else
|
|
65
|
+
it { page.should_not have_content role }
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
end
|
|
70
|
+
|
|
40
71
|
end
|
|
41
72
|
|
|
42
73
|
end
|
data/spec/requests/user_spec.rb
CHANGED
|
@@ -2,11 +2,14 @@ require 'spec_helper'
|
|
|
2
2
|
|
|
3
3
|
describe 'account settings view' do
|
|
4
4
|
before(:each) do
|
|
5
|
+
IuguSDK::enable_social_login = true
|
|
6
|
+
IuguSDK::enable_social_linking = true
|
|
5
7
|
visit '/account/auth/facebook'
|
|
6
8
|
visit profile_settings_path
|
|
7
9
|
end
|
|
8
10
|
|
|
9
11
|
it { page.should have_link I18n.t("iugu.remove_user") }
|
|
12
|
+
it { page.should have_content I18n.t("iugu.social_account") }
|
|
10
13
|
|
|
11
14
|
context "when user is being destroyed" do
|
|
12
15
|
before(:each) do
|
|
@@ -31,4 +34,14 @@ describe 'account settings view' do
|
|
|
31
34
|
|
|
32
35
|
end
|
|
33
36
|
|
|
37
|
+
context "when enable_social_linking == false" do
|
|
38
|
+
before(:each) do
|
|
39
|
+
IuguSDK::enable_social_linking = false
|
|
40
|
+
visit profile_settings_path
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
it { page.should_not have_content I18n.t("iugu.social_account") }
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
34
47
|
end
|