kaui 0.15.5 → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (183) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +25 -37
  3. data/app/assets/javascripts/application.js +1 -2
  4. data/app/assets/javascripts/kaui/kaui.js +87 -0
  5. data/app/assets/stylesheets/{bootstrap_and_overrides.less → bootstrap_and_overrides.css.less} +6 -6
  6. data/app/assets/stylesheets/kaui/account.less +20 -0
  7. data/app/assets/stylesheets/kaui/kaui.less +3 -0
  8. data/app/assets/stylesheets/kaui/overdue.less +9 -0
  9. data/app/assets/stylesheets/kaui/payment.less +10 -0
  10. data/app/controllers/kaui/account_children_controller.rb +50 -0
  11. data/app/controllers/kaui/account_tags_controller.rb +4 -3
  12. data/app/controllers/kaui/account_timelines_controller.rb +1 -3
  13. data/app/controllers/kaui/accounts_controller.rb +160 -17
  14. data/app/controllers/kaui/admin_allowed_users_controller.rb +11 -5
  15. data/app/controllers/kaui/admin_controller.rb +16 -3
  16. data/app/controllers/kaui/admin_tenants_controller.rb +56 -8
  17. data/app/controllers/kaui/bundle_tags_controller.rb +4 -3
  18. data/app/controllers/kaui/bundles_controller.rb +12 -6
  19. data/app/controllers/kaui/charges_controller.rb +4 -1
  20. data/app/controllers/kaui/credits_controller.rb +1 -0
  21. data/app/controllers/kaui/engine_controller.rb +8 -11
  22. data/app/controllers/kaui/engine_controller_util.rb +30 -18
  23. data/app/controllers/kaui/invoices_controller.rb +19 -8
  24. data/app/controllers/kaui/payment_methods_controller.rb +20 -1
  25. data/app/controllers/kaui/payments_controller.rb +15 -9
  26. data/app/controllers/kaui/queues_controller.rb +8 -1
  27. data/app/controllers/kaui/refunds_controller.rb +7 -4
  28. data/app/controllers/kaui/registrations_controller.rb +15 -1
  29. data/app/controllers/kaui/sessions_controller.rb +2 -1
  30. data/app/controllers/kaui/subscriptions_controller.rb +27 -5
  31. data/app/controllers/kaui/tenants_controller.rb +1 -1
  32. data/app/controllers/kaui/transactions_controller.rb +11 -1
  33. data/app/helpers/kaui/account_helper.rb +7 -0
  34. data/app/helpers/kaui/date_helper.rb +30 -2
  35. data/app/helpers/kaui/locale_helper.rb +20 -0
  36. data/app/helpers/kaui/locale_helper.yml +581 -0
  37. data/app/helpers/kaui/payment_helper.rb +12 -0
  38. data/app/helpers/kaui/subscription_helper.rb +3 -3
  39. data/app/helpers/kaui/us_states_helper.rb +11 -0
  40. data/app/helpers/kaui/us_states_helper.yml +103 -0
  41. data/app/models/kaui/ability.rb +1 -1
  42. data/app/models/kaui/account.rb +1 -1
  43. data/app/models/kaui/admin.rb +11 -9
  44. data/app/models/kaui/allowed_user.rb +3 -4
  45. data/app/models/kaui/allowed_user_tenant.rb +2 -2
  46. data/app/models/kaui/application_record.rb +5 -0
  47. data/app/models/kaui/base.rb +1 -1
  48. data/app/models/kaui/bundle.rb +2 -2
  49. data/app/models/kaui/catalog.rb +4 -24
  50. data/app/models/kaui/chargeback.rb +0 -23
  51. data/app/models/kaui/credit.rb +0 -4
  52. data/app/models/kaui/invoice_item.rb +0 -4
  53. data/app/models/kaui/invoice_payment.rb +16 -21
  54. data/app/models/kaui/killbill_authenticatable.rb +2 -2
  55. data/app/models/kaui/overdue.rb +4 -0
  56. data/app/models/kaui/payment.rb +0 -3
  57. data/app/models/kaui/refund.rb +0 -5
  58. data/app/models/kaui/tenant.rb +1 -2
  59. data/app/models/kaui/user.rb +1 -3
  60. data/app/views/kaui/account_children/index.html.erb +47 -0
  61. data/app/views/kaui/accounts/_account_info.html.erb +16 -1
  62. data/app/views/kaui/accounts/_billing_info.html.erb +18 -9
  63. data/app/views/kaui/accounts/_form.html.erb +26 -18
  64. data/app/views/kaui/accounts/_link_parent_modal.html.erb +34 -0
  65. data/app/views/kaui/accounts/_parent.html.erb +16 -0
  66. data/app/views/kaui/accounts/_payment_methods.html.erb +3 -1
  67. data/app/views/kaui/accounts/index.html.erb +17 -2
  68. data/app/views/kaui/accounts/show.html.erb +6 -0
  69. data/app/views/kaui/admin/index.html.erb +1 -1
  70. data/app/views/kaui/admin_allowed_users/_form.html.erb +22 -0
  71. data/app/views/kaui/admin_tenants/_show_catalog_simple.erb +12 -9
  72. data/app/views/kaui/admin_tenants/_show_catalog_xml.erb +1 -1
  73. data/app/views/kaui/admin_tenants/_show_overdue.erb +10 -0
  74. data/app/views/kaui/admin_tenants/new.html.erb +8 -4
  75. data/app/views/kaui/admin_tenants/new_catalog.html.erb +16 -4
  76. data/app/views/kaui/admin_tenants/new_overdue_config.html.erb +25 -5
  77. data/app/views/kaui/bundles/index.html.erb +3 -0
  78. data/app/views/kaui/chargebacks/_form.html.erb +1 -1
  79. data/app/views/kaui/charges/_form.html.erb +11 -0
  80. data/app/views/kaui/credits/_form.html.erb +2 -2
  81. data/app/views/kaui/custom_fields/_list_bar.html.erb +12 -0
  82. data/app/views/kaui/invoice_items/_edit_form.html.erb +1 -1
  83. data/app/views/kaui/invoices/_invoice_table.html.erb +23 -18
  84. data/app/views/kaui/invoices/show.html.erb +9 -1
  85. data/app/views/kaui/layouts/kaui_navbar.html.erb +4 -1
  86. data/app/views/kaui/payment_methods/_form.html.erb +6 -0
  87. data/app/views/kaui/payment_methods/_payment_methods_table.html.erb +3 -1
  88. data/app/views/kaui/payment_methods/_plugin_properties.html.erb +77 -0
  89. data/app/views/kaui/payments/_form.html.erb +1 -1
  90. data/app/views/kaui/payments/_payment_table.html.erb +24 -15
  91. data/app/views/kaui/payments/show.html.erb +4 -1
  92. data/app/views/kaui/queues/index.html.erb +4 -4
  93. data/app/views/kaui/refunds/_form.html.erb +3 -2
  94. data/app/views/kaui/subscriptions/_edit_form.html.erb +3 -3
  95. data/app/views/kaui/subscriptions/_form.html.erb +3 -0
  96. data/app/views/kaui/subscriptions/_subscriptions_table.html.erb +1 -1
  97. data/app/views/kaui/transactions/_control_plugin_names.html.erb +66 -0
  98. data/app/views/kaui/transactions/_form.html.erb +7 -1
  99. data/config/initializers/asset.rb +1 -0
  100. data/config/initializers/devise.rb +13 -7
  101. data/config/initializers/killbill_authenticatable.rb +1 -1
  102. data/config/locales/devise.en.yml +1 -1
  103. data/config/routes.rb +19 -1
  104. data/config/symmetric-encryption.yml +1 -1
  105. data/db/ddl.sql +40 -40
  106. data/db/migrate/20130812155313_devise_create_kaui_users.rb +12 -0
  107. data/db/migrate/20150109214021_create_kaui_tenants.rb +12 -0
  108. data/db/migrate/20150112232813_create_kaui_allowed_users.rb +19 -0
  109. data/lib/core_ext.rb +191 -0
  110. data/lib/kaui.rb +68 -5
  111. data/lib/kaui/engine.rb +11 -4
  112. data/lib/kaui/version.rb +1 -1
  113. data/test/dummy/app/controllers/application_controller.rb +1 -1
  114. data/test/dummy/bin/bundle +3 -0
  115. data/test/dummy/bin/rails +4 -0
  116. data/test/dummy/bin/rake +4 -0
  117. data/test/dummy/bin/setup +38 -0
  118. data/test/dummy/bin/update +29 -0
  119. data/test/dummy/bin/yarn +11 -0
  120. data/test/dummy/config/application.rb +6 -53
  121. data/test/dummy/config/boot.rb +2 -9
  122. data/test/dummy/config/database.yml +15 -17
  123. data/test/dummy/config/environment.rb +4 -4
  124. data/test/dummy/config/environments/development.rb +42 -16
  125. data/test/dummy/config/environments/production.rb +62 -40
  126. data/test/dummy/config/environments/test.rb +26 -15
  127. data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  128. data/test/dummy/config/initializers/assets.rb +14 -0
  129. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  130. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  131. data/test/dummy/config/initializers/inflections.rb +6 -5
  132. data/test/dummy/config/initializers/killbill_client.rb +1 -1
  133. data/test/dummy/config/initializers/mime_types.rb +0 -1
  134. data/test/dummy/config/initializers/new_framework_defaults_5_1.rb +14 -0
  135. data/test/dummy/config/initializers/wrap_parameters.rb +6 -6
  136. data/test/dummy/config/locales/en.yml +30 -2
  137. data/test/dummy/config/secrets.yml +32 -0
  138. data/test/dummy/config/symmetric-encryption.yml +1 -1
  139. data/test/dummy/db/schema.rb +1 -1
  140. data/{app/assets/images/kaui/.gitkeep → test/dummy/log/test.log} +0 -0
  141. data/test/functional/kaui/account_children_controller_test.rb +32 -0
  142. data/test/functional/kaui/account_tags_controller_test.rb +3 -3
  143. data/test/functional/kaui/accounts_controller_test.rb +127 -12
  144. data/test/functional/kaui/admin_allowed_users_controller_test.rb +151 -1
  145. data/test/functional/kaui/admin_controller_test.rb +45 -0
  146. data/test/functional/kaui/admin_tenants_controller_test.rb +127 -0
  147. data/test/functional/kaui/bundle_tags_controller_test.rb +3 -3
  148. data/test/functional/kaui/bundles_controller_test.rb +27 -0
  149. data/test/functional/kaui/chargebacks_controller_test.rb +1 -1
  150. data/test/functional/kaui/custom_fields_controller_test.rb +10 -3
  151. data/test/functional/kaui/functional_test_helper.rb +1 -1
  152. data/test/functional/kaui/functional_test_helper_nosetup.rb +66 -1
  153. data/test/functional/kaui/home_controller_test.rb +9 -0
  154. data/test/functional/kaui/invoices_controller_test.rb +8 -0
  155. data/test/functional/kaui/login_proxy_controller_test.rb +12 -0
  156. data/test/functional/kaui/payment_methods_controller_test.rb +23 -0
  157. data/test/functional/kaui/payments_controller_test.rb +15 -1
  158. data/test/functional/kaui/queues_controller_test.rb +17 -0
  159. data/test/functional/kaui/registrations_controller_test.rb +49 -0
  160. data/test/functional/kaui/role_definitions_controller_test.rb +47 -0
  161. data/test/functional/kaui/subscriptions_controller_test.rb +39 -0
  162. data/test/functional/kaui/tenants_controller_test.rb +6 -0
  163. data/test/functional/kaui/transactions_controller_test.rb +36 -3
  164. data/test/integration/kaui/date_helper_integration_test.rb +16 -0
  165. data/test/integration/kaui/navigation_test.rb +11 -5
  166. data/test/killbill_test_helper.rb +24 -3
  167. data/test/test_helper.rb +3 -0
  168. data/test/unit/kaui/account_email_test.rb +3 -3
  169. data/test/unit/kaui/date_helper_test.rb +14 -2
  170. data/test/unit/kaui/money_helper_test.rb +1 -1
  171. metadata +327 -147
  172. data/.gitignore +0 -18
  173. data/.travis.yml +0 -37
  174. data/Gemfile +0 -6
  175. data/bin/kaui +0 -4
  176. data/kaui.gemspec +0 -65
  177. data/script/rails +0 -8
  178. data/script/sandbox +0 -30
  179. data/test/dummy/.gitignore +0 -1
  180. data/test/dummy/app/mailers/.gitkeep +0 -0
  181. data/test/dummy/app/models/.gitkeep +0 -0
  182. data/test/dummy/lib/assets/.gitkeep +0 -0
  183. data/test/dummy/log/.gitkeep +0 -0
@@ -15,7 +15,7 @@ class Kaui::PaymentsControllerTest < Kaui::FunctionalTestHelper
15
15
 
16
16
  test 'should search payments' do
17
17
  # Test search
18
- get :pagination, :search => {:search => 'foo'}, :format => :json
18
+ get :pagination, :search => {:value => 'PENDING'}, :format => :json
19
19
  verify_pagination_results!
20
20
  end
21
21
 
@@ -42,4 +42,18 @@ class Kaui::PaymentsControllerTest < Kaui::FunctionalTestHelper
42
42
  get :restful_show, :id => @payment.payment_external_key
43
43
  assert_redirected_to account_payment_path(@payment.account_id, @payment.payment_id)
44
44
  end
45
+
46
+ test 'should cancel scheduled payment' do
47
+ delete :cancel_scheduled_payment, :id => @payment.payment_id, :account_id => @payment.account_id
48
+ assert_match /Error deleting payment attempt retry:/, flash[:error]
49
+ expected_response_path = "/accounts/#{@payment.account_id}"
50
+ assert response_path.include?(expected_response_path), "#{response_path} is expected to contain #{expected_response_path}"
51
+
52
+ delete :cancel_scheduled_payment, :id => @payment.payment_id, :account_id => @payment.account_id,
53
+ :transaction_external_key => @payment.transactions[0].transaction_external_key
54
+ assert_equal 'Payment attempt retry successfully deleted', flash[:notice]
55
+ expected_response_path = "/accounts/#{@payment.account_id}/payments/#{@payment.payment_id}"
56
+ assert response_path.include?(expected_response_path), "#{response_path} is expected to contain #{expected_response_path}"
57
+
58
+ end
45
59
  end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+ class Kaui::QueuesControllerTest < Kaui::FunctionalTestHelper
4
+
5
+ test 'should get queues' do
6
+ get :index, :account_id => @account.account_id, :with_history => true
7
+ now = assigns(:now)
8
+ queues_entries = assigns(:queues_entries)
9
+
10
+ assert_not_nil now
11
+ assert_not_nil queues_entries
12
+ assert queues_entries['busEvents'].size > 0
13
+
14
+ assert_response :success
15
+ end
16
+
17
+ end
@@ -0,0 +1,49 @@
1
+ require 'test_helper'
2
+
3
+ module Kaui
4
+ class RegistrationsControllerTest < Kaui::FunctionalTestHelper
5
+
6
+ test 'should get new' do
7
+ logout
8
+
9
+ get :new
10
+ assert_response :success
11
+ assert has_input_field('user_kb_username'), 'Expected input with id user_kb_username not found'
12
+ assert has_input_field('user_password'), 'Expected input with id user_password not found'
13
+ end
14
+
15
+ test 'should get create' do
16
+ logout
17
+
18
+ # enable the option of registration
19
+ Kaui.disable_sign_up_link = false
20
+
21
+ parameters = {
22
+ :user => {
23
+ :kb_username => 'Voltron',
24
+ :password => 'Voltron'
25
+ }
26
+ }
27
+ post :create, parameters
28
+ assert_equal "User #{parameters[:user][:kb_username]} successfully created, please login", flash[:notice]
29
+ assert_response :redirect
30
+ # validate redirect path
31
+ assert response_path.include?('/users/sign_in'), "#{response_path} is expected to contain /users/sign_in"
32
+
33
+ # should return an error that the user already exists
34
+ post :create, parameters
35
+ assert_equal "User with name #{parameters[:user][:kb_username]} already exists!", flash[:error]
36
+ assert_response :success
37
+
38
+ # disable the option of registration
39
+ Kaui.disable_sign_up_link = true
40
+
41
+ post :create, parameters
42
+ assert_equal 'You need to sign in before adding a user!', flash[:error]
43
+ assert_response :redirect
44
+ # validate redirect path
45
+ assert response_path.include?('/users/sign_in'), "#{response_path} is expected to contain /users/sign_in"
46
+ end
47
+
48
+ end
49
+ end
@@ -0,0 +1,47 @@
1
+ require 'test_helper'
2
+
3
+ class Kaui::RoleDefinitionsControllerTest < Kaui::FunctionalTestHelper
4
+
5
+ test 'should instantiate RoleDefinition class' do
6
+ get :new
7
+ role_definition = assigns(:role_definition)
8
+
9
+ assert_not_nil role_definition
10
+ assert_instance_of Kaui::RoleDefinition, role_definition
11
+ assert_response :success
12
+ end
13
+
14
+ test 'should return an error if no parameter role definition is passed' do
15
+ post :create
16
+
17
+ role_definition = assigns(:role_definition)
18
+
19
+ assert_nil role_definition
20
+ assert_equal 'Required parameter missing: role_definition', flash[:error]
21
+ assert_response :redirect
22
+ end
23
+
24
+ test 'should create a new role definition' do
25
+ role_definition = Hash.new
26
+
27
+ role_definition['role'] = 'test' + SecureRandom.base64(9).gsub(/[\/+=]/,'')
28
+ role_definition['permissions'] = 'account:delete_emails,account:add_emails'
29
+
30
+ post :create, :role_definition => role_definition
31
+
32
+ assert_equal 'Role was successfully created', flash[:notice]
33
+ assert_response :redirect
34
+ end
35
+
36
+ test 'should return an error if there is a error while creating role' do
37
+ role_definition = Hash.new
38
+
39
+ role_definition['role'] = 'test' + SecureRandom.base64(9).gsub(/[\/+=]/,'')
40
+ role_definition['permissions'] = 'account:delete_emails,account:add_emails'
41
+
42
+ post :create, :role_definition => role_definition, :reason => SecureRandom.base64(4000), :comment => SecureRandom.base64(4000)
43
+ assert_match 'Error while creating role', flash[:error]
44
+ assert_response :success
45
+ end
46
+
47
+ end
@@ -132,4 +132,43 @@ class Kaui::SubscriptionsControllerTest < Kaui::FunctionalTestHelper
132
132
  put :reinstate, :id => @bundle.subscriptions.first.subscription_id
133
133
  assert_response 302
134
134
  end
135
+
136
+ test 'should get show' do
137
+ get :show, :id => @bundle.subscriptions.first.subscription_id
138
+ assert_redirected_to account_bundles_path(@bundle.subscriptions.first.account_id)
139
+ end
140
+
141
+ test 'should get edit bcd' do
142
+ get :edit_bcd, :id => @bundle.subscriptions.first.subscription_id
143
+ assert_response :success
144
+ assert_equal get_value_from_input_field('subscription_account_id'), @bundle.subscriptions.first.account_id
145
+ assert_equal get_value_from_input_field('subscription_bill_cycle_day_local'), @bundle.subscriptions.first.bill_cycle_day_local.to_s
146
+ assert_equal get_value_from_input_field('effective_from_date'), @bundle.subscriptions.first.billing_start_date
147
+ end
148
+
149
+ test 'should update bcd' do
150
+ bundle = create_bundle(@account, @tenant)
151
+ parameters = {
152
+ :id => bundle.subscriptions.first.subscription_id,
153
+ :subscription => { :account_id => bundle.subscriptions.first.account_id,
154
+ :bill_cycle_day_local => bundle.subscriptions.first.bill_cycle_day_local
155
+ },
156
+ :effective_from_date => (Date.today >> 1).to_s
157
+ }
158
+
159
+ put :update_bcd, parameters
160
+ assert_redirected_to account_bundles_path(bundle.subscriptions.first.account_id)
161
+ assert_equal 'Subscription BCD was successfully changed', flash[:notice]
162
+ end
163
+
164
+ test 'should validate external key if found' do
165
+ get :validate_external_key, :external_key => 'foo'
166
+ assert_response :success
167
+ assert_equal JSON[@response.body]['is_found'], false
168
+
169
+ get :validate_external_key, :external_key => @bundle.subscriptions.first.external_key
170
+ assert_response :success
171
+ assert_equal JSON[@response.body]['is_found'], true
172
+ end
173
+
135
174
  end
@@ -51,4 +51,10 @@ class Kaui::TenantsControllerTest < Kaui::FunctionalTestHelperNoSetup
51
51
  assert_response :success
52
52
  assert_equal 'Signed in successfully.', flash[:notice]
53
53
  end
54
+
55
+ test 'should select a tenant' do
56
+ setup_functional_test
57
+ post :select_tenant, :kb_tenant_id => session[:kb_tenant_id]
58
+ assert_redirected_to Kaui::IntegrationTestHelper::HOME_PATH
59
+ end
54
60
  end
@@ -2,6 +2,13 @@ require 'test_helper'
2
2
 
3
3
  class Kaui::TransactionsControllerTest < Kaui::FunctionalTestHelper
4
4
 
5
+ test 'should get restful endpoint' do
6
+ get :restful_show, :id => @payment.transactions[0].transaction_id
7
+ assert_response :redirect
8
+ expected_response_path = "/accounts/#{@payment.account_id}/payments/#{@payment.payment_id}"
9
+ assert response_path.include?(expected_response_path), "#{response_path} is expected to contain #{expected_response_path}"
10
+ end
11
+
5
12
  test 'should get new' do
6
13
  get :new,
7
14
  :account_id => @account.account_id,
@@ -11,9 +18,18 @@ class Kaui::TransactionsControllerTest < Kaui::FunctionalTestHelper
11
18
  :currency => 'USD',
12
19
  :transaction_type => 'CAPTURE'
13
20
  assert_response 200
14
- assert_not_nil assigns(:account_id)
15
- assert_not_nil assigns(:payment_method_id)
16
- assert_not_nil assigns(:transaction)
21
+ assert_equal get_value_from_input_field('account_id'), @account.account_id
22
+ assert_equal get_value_from_input_field('payment_method_id'), @payment_method.payment_method_id
23
+ assert has_input_field('transaction_transaction_id')
24
+
25
+
26
+ get :new, :account_id => @account.account_id,
27
+ :payment_method_id => @payment_method.payment_method_id, :transaction_id => @payment.transactions[0].transaction_id
28
+ assert_response :success
29
+ assert_equal get_value_from_input_field('account_id'), @account.account_id
30
+ assert_equal get_value_from_input_field('payment_method_id'), @payment_method.payment_method_id
31
+ assert_equal get_value_from_input_field('transaction_transaction_id'), @payment.transactions[0].transaction_id
32
+ assert_equal get_value_from_input_field('transaction_payment_id'), @payment.payment_id
17
33
  end
18
34
 
19
35
  test 'should create new transaction' do
@@ -49,6 +65,23 @@ class Kaui::TransactionsControllerTest < Kaui::FunctionalTestHelper
49
65
  end
50
66
  end
51
67
 
68
+ test 'should fix transaction state' do
69
+ payment = create_payment(nil,nil,@tenant)
70
+ parameters = {
71
+ :account_id => payment.account_id,
72
+ :transaction => {
73
+ :payment_id => payment.payment_id,
74
+ :transaction_id => payment.transactions[0].transaction_id,
75
+ :status => 'PENDING'
76
+ }
77
+ }
78
+
79
+ put :fix_transaction_state, parameters
80
+ assert_response :redirect
81
+ assert_redirected_to account_payment_path(payment.account_id,payment.payment_id)
82
+ assert_equal "Transaction successfully transitioned to #{parameters[:transaction][:status]}", flash[:notice]
83
+ end
84
+
52
85
  private
53
86
 
54
87
  def created_payment_id
@@ -0,0 +1,16 @@
1
+ require 'test_helper'
2
+
3
+ module Kaui
4
+ class DateHelperIntegrationTest < IntegrationTestHelper
5
+
6
+ include Kaui::DateHelper
7
+
8
+ test 'can get killbill server current time depending of time zone' do
9
+ current_time_fiji = current_time('America/Puerto_Rico',options)
10
+ utc_offset_fiji = '-0400'
11
+
12
+ assert_equal utc_offset_fiji, current_time_fiji.strftime('%z')
13
+ end
14
+
15
+ end
16
+ end
@@ -8,8 +8,11 @@ module Kaui
8
8
  assert_redirected_to SIGN_IN_PATH
9
9
 
10
10
  # Verify log-in and redirect to the original page
11
- post_via_redirect SIGN_IN_PATH, {:user => {:kb_username => USERNAME, :password => PASSWORD}}
12
- assert_equal ACCOUNTS_PATH + '/' + @account.account_id, path
11
+ post SIGN_IN_PATH, :params => {:user => {:kb_username => USERNAME, :password => PASSWORD}}
12
+ assert_redirected_to TENANTS_PATH
13
+
14
+ get TENANTS_PATH
15
+ assert_redirected_to ACCOUNTS_PATH + '/' + @account.account_id
13
16
 
14
17
  # User goes to search for the account
15
18
  get ACCOUNTS_PATH
@@ -31,9 +34,12 @@ module Kaui
31
34
  assert_not_nil assigns(:account)
32
35
 
33
36
  # Verify log-out
34
- delete_via_redirect SIGN_OUT_PATH
35
- assert_equal SIGN_IN_PATH, path
36
- assert_equal 'You need to sign in or sign up before continuing.', flash[:alert]
37
+ delete SIGN_OUT_PATH
38
+ assert_redirected_to BASE_PATH + '/'
39
+
40
+ get BASE_PATH
41
+ assert_redirected_to SIGN_IN_PATH
42
+ assert_equal 'You need to sign in before continuing.', flash[:alert]
37
43
  end
38
44
  end
39
45
  end
@@ -30,9 +30,12 @@ module Kaui
30
30
  @paid_invoice_item = create_charge(@account, @tenant, true)
31
31
  @bundle_invoice = @account.invoices(true, build_options(@tenant)).first
32
32
  @payment_method = create_payment_method(true, @account, @tenant)
33
- @cba = create_cba(@invoice_item.invoice_id, @account, @tenant, true)
34
33
  @payment = create_payment(@paid_invoice_item, @account, @tenant)
35
34
 
35
+ invoice_id_for_cba = create_charge(@account, @tenant).invoice_id
36
+ @cba = create_cba(invoice_id_for_cba, @account, @tenant, true)
37
+ commit_invoice(invoice_id_for_cba, @tenant)
38
+
36
39
  if setup_tenant_key_secret
37
40
  KillBillClient.api_key = @tenant.api_key
38
41
  KillBillClient.api_secret = @tenant.api_secret
@@ -65,7 +68,7 @@ module Kaui
65
68
 
66
69
  t = Kaui::Tenant.new
67
70
  t.kb_tenant_id = cur_tenant.tenant_id
68
- t.name = 'Test'
71
+ t.name = SecureRandom.uuid.to_s
69
72
  t.api_key = cur_tenant.api_key
70
73
  t.api_secret = cur_tenant.api_secret
71
74
  t.save
@@ -78,7 +81,7 @@ module Kaui
78
81
  end
79
82
 
80
83
  # Return a new test account
81
- def create_account(tenant = nil, username = USERNAME, password = PASSWORD, user = 'Kaui test', reason = nil, comment = nil)
84
+ def create_account(tenant = nil, username = USERNAME, password = PASSWORD, user = 'Kaui test', reason = nil, comment = nil, parent_account_id = nil)
82
85
  tenant = create_tenant if tenant.nil?
83
86
  external_key = SecureRandom.uuid.to_s
84
87
 
@@ -97,10 +100,23 @@ module Kaui
97
100
  account.country = 'LalaLand'
98
101
  account.locale = 'fr_FR'
99
102
  account.is_notified_for_invoices = false
103
+ account.parent_account_id = parent_account_id
104
+ account.is_payment_delegated_to_parent = !parent_account_id.nil?
100
105
 
101
106
  account.create(user, reason, comment, build_options(tenant, username, password))
102
107
  end
103
108
 
109
+ # Return the killbill server clock
110
+ def get_clock(tenant = nil)
111
+ tenant = create_tenant(user, reason, comment) if tenant.nil?
112
+ Kaui::Admin.get_clock(nil, build_options(tenant, USERNAME, PASSWORD))
113
+ end
114
+
115
+ # reset killbill server clock
116
+ def reset_clock
117
+ Kaui::Admin.set_clock(nil, nil, build_options(@tenant, USERNAME, PASSWORD))
118
+ end
119
+
104
120
  # Return the created bundle
105
121
  def create_bundle(account = nil, tenant = nil, username = USERNAME, password = PASSWORD, user = 'Kaui test', reason = nil, comment = nil)
106
122
  tenant = create_tenant(user, reason, comment) if tenant.nil?
@@ -152,6 +168,11 @@ module Kaui
152
168
  invoice.items.find { |ii| ii.amount == -credit.credit_amount }
153
169
  end
154
170
 
171
+ def commit_invoice(invoice_id, tenant, username = USERNAME, password = PASSWORD, user = 'Kaui test', reason = nil, comment = nil)
172
+ invoice = KillBillClient::Model::Invoice.find_by_id_or_number(invoice_id, false, 'NONE', build_options(tenant, username, password))
173
+ invoice.commit(user, reason, comment, build_options(tenant, username, password))
174
+ end
175
+
155
176
  def create_payment(invoice_item = nil, account = nil, tenant = nil, username = USERNAME, password = PASSWORD, user = 'Kaui test', reason = nil, comment = nil)
156
177
  tenant = create_tenant(user, reason, comment) if tenant.nil?
157
178
  account = create_account(tenant, username, password, user, reason, comment) if account.nil?
data/test/test_helper.rb CHANGED
@@ -5,6 +5,9 @@ SimpleCov.start 'rails'
5
5
  # Configure the Rails Environment
6
6
  ENV['RAILS_ENV'] = 'test'
7
7
 
8
+ require 'rails-controller-testing'
9
+ Rails::Controller::Testing.install
10
+
8
11
  require File.expand_path('../dummy/config/environment.rb', __FILE__)
9
12
  require 'rails/test_help'
10
13
 
@@ -7,13 +7,13 @@ class Kaui::AccountEmailTest < ActiveSupport::TestCase
7
7
  email2 = Kaui::AccountEmail.new(:account_id => SecureRandom.uuid, :email => 'bcd@bar.com')
8
8
  email3 = Kaui::AccountEmail.new(:account_id => SecureRandom.uuid, :email => nil)
9
9
 
10
- assert_equal -1, email1 <=> email2
10
+ assert_equal (-1), email1 <=> email2
11
11
  assert_equal 1, email2 <=> email1
12
12
  assert_equal 0, email1 <=> email1
13
13
  assert_equal 0, email2 <=> email2
14
14
  assert_equal 0, email3 <=> email3
15
15
  assert_equal 1, email1 <=> email3
16
- assert_equal -1, email3 <=> email1
17
- assert_equal -1, email1 <=> nil
16
+ assert_equal (-1), email3 <=> email1
17
+ assert_equal (-1), email1 <=> nil
18
18
  end
19
19
  end
@@ -5,10 +5,22 @@ class Kaui::DateHelperTest < ActiveSupport::TestCase
5
5
  include Kaui::DateHelper
6
6
 
7
7
  test 'can parse from string' do
8
- assert_equal '2012-07-01', format_date('2012-07-01T12:55:44Z')
8
+ assert_equal '2012-07-01', format_date('2012-07-01T12:55:44Z', 'Pacific Time (US & Canada)')
9
9
  end
10
10
 
11
11
  test 'can parse from date' do
12
- assert_equal '2012-07-01', format_date(Date.new(2012, 7, 1))
12
+ assert_equal '2012-07-01', format_date(Date.new(2012, 7, 1), 'Pacific Time (US & Canada)')
13
+ end
14
+
15
+ test 'can remove milliseconds from date time' do
16
+ assert_equal '2012-07-01T12:55:44', truncate_millis('2012-07-01T12:55:44.611Z')
17
+ end
18
+
19
+ test 'can get current time depending of time zone' do
20
+ current_time_fiji = current_time('Pacific/Fiji')
21
+ utc_offset_fiji_without_saving_time = '+1200'
22
+ utc_offset_fiji_with_saving_time = '+1300'
23
+
24
+ assert_includes [utc_offset_fiji_with_saving_time,utc_offset_fiji_without_saving_time], current_time_fiji.strftime('%z')
13
25
  end
14
26
  end
@@ -11,6 +11,6 @@ class Kaui::MoneyHelperTest < ActiveSupport::TestCase
11
11
  end
12
12
 
13
13
  test 'can list currencies' do
14
- assert_equal 173, currencies.size
14
+ assert_equal 185, currencies.size
15
15
  end
16
16
  end
metadata CHANGED
@@ -1,435 +1,486 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kaui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.5
4
+ version: 0.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Killbill core team
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-08 00:00:00.000000000 Z
11
+ date: 2017-11-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: rails
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - "~>"
17
18
  - !ruby/object:Gem::Version
18
- version: 4.2.0
19
- name: rails
20
- prerelease: false
19
+ version: '5.1'
21
20
  type: :runtime
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.2.0
26
+ version: '5.1'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: js-routes
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - "~>"
31
32
  - !ruby/object:Gem::Version
32
- version: 1.0.6
33
- name: protected_attributes
34
- prerelease: false
33
+ version: '1.1'
35
34
  type: :runtime
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.6
40
+ version: '1.1'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: jquery-rails
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
45
  - - "~>"
45
46
  - !ruby/object:Gem::Version
46
- version: '1.1'
47
- name: js-routes
48
- prerelease: false
47
+ version: '4.3'
49
48
  type: :runtime
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.1'
54
+ version: '4.3'
55
55
  - !ruby/object:Gem::Dependency
56
+ name: jquery-datatables-rails
56
57
  requirement: !ruby/object:Gem::Requirement
57
58
  requirements:
58
59
  - - "~>"
59
60
  - !ruby/object:Gem::Version
60
- version: 3.0.4
61
- name: jquery-rails
62
- prerelease: false
61
+ version: '3.3'
63
62
  type: :runtime
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 3.0.4
68
+ version: '3.3'
69
69
  - !ruby/object:Gem::Dependency
70
+ name: money-rails
70
71
  requirement: !ruby/object:Gem::Requirement
71
72
  requirements:
72
73
  - - "~>"
73
74
  - !ruby/object:Gem::Version
74
- version: 5.0.5
75
- name: jquery-ui-rails
76
- prerelease: false
75
+ version: '1.9'
77
76
  type: :runtime
77
+ prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 5.0.5
82
+ version: '1.9'
83
83
  - !ruby/object:Gem::Dependency
84
+ name: twitter-bootstrap-rails
84
85
  requirement: !ruby/object:Gem::Requirement
85
86
  requirements:
86
- - - "~>"
87
+ - - ">="
87
88
  - !ruby/object:Gem::Version
88
- version: 3.3.0
89
- name: jquery-datatables-rails
89
+ version: '0'
90
+ type: :runtime
90
91
  prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: font-awesome-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '4.7'
91
104
  type: :runtime
105
+ prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: 3.3.0
110
+ version: '4.7'
97
111
  - !ruby/object:Gem::Dependency
112
+ name: bootstrap-datepicker-rails
98
113
  requirement: !ruby/object:Gem::Requirement
99
114
  requirements:
100
115
  - - "~>"
101
116
  - !ruby/object:Gem::Version
102
- version: 1.3.0
103
- name: money-rails
104
- prerelease: false
117
+ version: '1.6'
105
118
  type: :runtime
119
+ prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: 1.3.0
124
+ version: '1.6'
111
125
  - !ruby/object:Gem::Dependency
126
+ name: killbill-client
112
127
  requirement: !ruby/object:Gem::Requirement
113
128
  requirements:
114
129
  - - "~>"
115
130
  - !ruby/object:Gem::Version
116
- version: 3.2.8
117
- name: d3_rails
118
- prerelease: false
131
+ version: '1.11'
119
132
  type: :runtime
133
+ prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: 3.2.8
138
+ version: '1.11'
125
139
  - !ruby/object:Gem::Dependency
140
+ name: devise
126
141
  requirement: !ruby/object:Gem::Requirement
127
142
  requirements:
128
143
  - - "~>"
129
144
  - !ruby/object:Gem::Version
130
- version: '1.3'
131
- name: killbill-client
132
- prerelease: false
145
+ version: '4.3'
133
146
  type: :runtime
147
+ prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '1.3'
152
+ version: '4.3'
139
153
  - !ruby/object:Gem::Dependency
154
+ name: cancan
140
155
  requirement: !ruby/object:Gem::Requirement
141
156
  requirements:
142
157
  - - "~>"
143
158
  - !ruby/object:Gem::Version
144
- version: 3.2.0
145
- name: twitter-bootstrap-rails
146
- prerelease: false
159
+ version: 1.6.10
147
160
  type: :runtime
161
+ prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: 3.2.0
166
+ version: 1.6.10
153
167
  - !ruby/object:Gem::Dependency
168
+ name: country_select
154
169
  requirement: !ruby/object:Gem::Requirement
155
170
  requirements:
156
171
  - - "~>"
157
172
  - !ruby/object:Gem::Version
158
- version: 1.4.0
159
- name: bootstrap-datepicker-rails
160
- prerelease: false
173
+ version: '3.0'
161
174
  type: :runtime
175
+ prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
178
  - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: 1.4.0
180
+ version: '3.0'
167
181
  - !ruby/object:Gem::Dependency
182
+ name: symmetric-encryption
168
183
  requirement: !ruby/object:Gem::Requirement
169
184
  requirements:
170
185
  - - "~>"
171
186
  - !ruby/object:Gem::Version
172
- version: 3.4.1
173
- name: devise
174
- prerelease: false
187
+ version: '3.9'
175
188
  type: :runtime
189
+ prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - - "~>"
179
193
  - !ruby/object:Gem::Version
180
- version: 3.4.1
194
+ version: '3.9'
181
195
  - !ruby/object:Gem::Dependency
196
+ name: kenui
182
197
  requirement: !ruby/object:Gem::Requirement
183
198
  requirements:
184
199
  - - "~>"
185
200
  - !ruby/object:Gem::Version
186
- version: 1.6.10
187
- name: cancan
188
- prerelease: false
201
+ version: '0.1'
189
202
  type: :runtime
203
+ prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
206
  - - "~>"
193
207
  - !ruby/object:Gem::Version
194
- version: 1.6.10
208
+ version: '0.1'
195
209
  - !ruby/object:Gem::Dependency
210
+ name: jquery-ui-rails
196
211
  requirement: !ruby/object:Gem::Requirement
197
212
  requirements:
198
213
  - - "~>"
199
214
  - !ruby/object:Gem::Version
200
- version: 1.0.0
201
- name: carmen-rails
202
- prerelease: false
215
+ version: '6.0'
203
216
  type: :runtime
217
+ prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
220
  - - "~>"
207
221
  - !ruby/object:Gem::Version
208
- version: 1.0.0
222
+ version: '6.0'
209
223
  - !ruby/object:Gem::Dependency
224
+ name: sass-rails
210
225
  requirement: !ruby/object:Gem::Requirement
211
226
  requirements:
212
227
  - - "~>"
213
228
  - !ruby/object:Gem::Version
214
- version: 3.6.0
215
- name: symmetric-encryption
216
- prerelease: false
229
+ version: '5.0'
217
230
  type: :runtime
231
+ prerelease: false
218
232
  version_requirements: !ruby/object:Gem::Requirement
219
233
  requirements:
220
234
  - - "~>"
221
235
  - !ruby/object:Gem::Version
222
- version: 3.6.0
236
+ version: '5.0'
223
237
  - !ruby/object:Gem::Dependency
238
+ name: less-rails
224
239
  requirement: !ruby/object:Gem::Requirement
225
240
  requirements:
226
241
  - - "~>"
227
242
  - !ruby/object:Gem::Version
228
- version: 5.0.2
229
- name: sass-rails
230
- prerelease: false
243
+ version: '3.0'
231
244
  type: :runtime
245
+ prerelease: false
232
246
  version_requirements: !ruby/object:Gem::Requirement
233
247
  requirements:
234
248
  - - "~>"
235
249
  - !ruby/object:Gem::Version
236
- version: 5.0.2
250
+ version: '3.0'
237
251
  - !ruby/object:Gem::Dependency
252
+ name: concurrent-ruby
238
253
  requirement: !ruby/object:Gem::Requirement
239
254
  requirements:
240
255
  - - "~>"
241
256
  - !ruby/object:Gem::Version
242
- version: 2.7.0
243
- name: less-rails
244
- prerelease: false
257
+ version: '1.0'
245
258
  type: :runtime
259
+ prerelease: false
246
260
  version_requirements: !ruby/object:Gem::Requirement
247
261
  requirements:
248
262
  - - "~>"
249
263
  - !ruby/object:Gem::Version
250
- version: 2.7.0
264
+ version: '1.0'
251
265
  - !ruby/object:Gem::Dependency
266
+ name: sprockets-rails
252
267
  requirement: !ruby/object:Gem::Requirement
253
268
  requirements:
254
269
  - - "~>"
255
270
  - !ruby/object:Gem::Version
256
- version: 1.0.0.pre1
257
- name: concurrent-ruby
258
- prerelease: false
271
+ version: '3.2'
259
272
  type: :runtime
273
+ prerelease: false
260
274
  version_requirements: !ruby/object:Gem::Requirement
261
275
  requirements:
262
276
  - - "~>"
263
277
  - !ruby/object:Gem::Version
264
- version: 1.0.0.pre1
278
+ version: '3.2'
265
279
  - !ruby/object:Gem::Dependency
280
+ name: rails-controller-testing
266
281
  requirement: !ruby/object:Gem::Requirement
267
282
  requirements:
268
- - - '='
283
+ - - ">="
269
284
  - !ruby/object:Gem::Version
270
- version: 2.3.3
271
- name: sprockets-rails
285
+ version: '0'
286
+ type: :development
272
287
  prerelease: false
273
- type: :runtime
274
288
  version_requirements: !ruby/object:Gem::Requirement
275
289
  requirements:
276
- - - '='
290
+ - - ">="
277
291
  - !ruby/object:Gem::Version
278
- version: 2.3.3
292
+ version: '0'
279
293
  - !ruby/object:Gem::Dependency
294
+ name: multi_json
280
295
  requirement: !ruby/object:Gem::Requirement
281
296
  requirements:
282
- - - "~>"
297
+ - - ">="
283
298
  - !ruby/object:Gem::Version
284
- version: '1.3'
285
- name: fakeweb
286
- prerelease: false
299
+ version: '0'
287
300
  type: :development
301
+ prerelease: false
288
302
  version_requirements: !ruby/object:Gem::Requirement
289
303
  requirements:
290
- - - "~>"
304
+ - - ">="
291
305
  - !ruby/object:Gem::Version
292
- version: '1.3'
306
+ version: '0'
293
307
  - !ruby/object:Gem::Dependency
308
+ name: rake
294
309
  requirement: !ruby/object:Gem::Requirement
295
310
  requirements:
296
- - - "~>"
311
+ - - ">="
297
312
  - !ruby/object:Gem::Version
298
- version: '1.11'
299
- name: multi_json
300
- prerelease: false
313
+ version: '0'
301
314
  type: :development
315
+ prerelease: false
302
316
  version_requirements: !ruby/object:Gem::Requirement
303
317
  requirements:
304
- - - "~>"
318
+ - - ">="
305
319
  - !ruby/object:Gem::Version
306
- version: '1.11'
320
+ version: '0'
307
321
  - !ruby/object:Gem::Dependency
322
+ name: pry-rails
308
323
  requirement: !ruby/object:Gem::Requirement
309
324
  requirements:
310
325
  - - ">="
311
326
  - !ruby/object:Gem::Version
312
- version: 0.8.7
313
- name: rake
314
- prerelease: false
327
+ version: '0'
315
328
  type: :development
329
+ prerelease: false
316
330
  version_requirements: !ruby/object:Gem::Requirement
317
331
  requirements:
318
332
  - - ">="
319
333
  - !ruby/object:Gem::Version
320
- version: 0.8.7
334
+ version: '0'
321
335
  - !ruby/object:Gem::Dependency
336
+ name: simplecov
322
337
  requirement: !ruby/object:Gem::Requirement
323
338
  requirements:
324
339
  - - ">="
325
340
  - !ruby/object:Gem::Version
326
341
  version: '0'
327
- name: pry-rails
328
- prerelease: false
329
342
  type: :development
343
+ prerelease: false
330
344
  version_requirements: !ruby/object:Gem::Requirement
331
345
  requirements:
332
346
  - - ">="
333
347
  - !ruby/object:Gem::Version
334
348
  version: '0'
335
349
  - !ruby/object:Gem::Dependency
350
+ name: listen
336
351
  requirement: !ruby/object:Gem::Requirement
337
352
  requirements:
338
353
  - - ">="
339
354
  - !ruby/object:Gem::Version
340
355
  version: '0'
341
- name: simplecov
342
- prerelease: false
343
356
  type: :development
357
+ prerelease: false
344
358
  version_requirements: !ruby/object:Gem::Requirement
345
359
  requirements:
346
360
  - - ">="
347
361
  - !ruby/object:Gem::Version
348
362
  version: '0'
349
363
  - !ruby/object:Gem::Dependency
364
+ name: puma
350
365
  requirement: !ruby/object:Gem::Requirement
351
366
  requirements:
352
- - - "~>"
367
+ - - ">="
353
368
  - !ruby/object:Gem::Version
354
- version: 2.0.4
355
- name: therubyrhino
369
+ version: '0'
370
+ type: :development
356
371
  prerelease: false
372
+ version_requirements: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - ">="
375
+ - !ruby/object:Gem::Version
376
+ version: '0'
377
+ - !ruby/object:Gem::Dependency
378
+ name: byebug
379
+ requirement: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - ">="
382
+ - !ruby/object:Gem::Version
383
+ version: '0'
357
384
  type: :development
385
+ prerelease: false
358
386
  version_requirements: !ruby/object:Gem::Requirement
359
387
  requirements:
360
- - - "~>"
388
+ - - ">="
361
389
  - !ruby/object:Gem::Version
362
- version: 2.0.4
390
+ version: '0'
363
391
  - !ruby/object:Gem::Dependency
392
+ name: therubyracer
364
393
  requirement: !ruby/object:Gem::Requirement
365
394
  requirements:
366
395
  - - "~>"
367
396
  - !ruby/object:Gem::Version
368
- version: 1.3.9
369
- name: activerecord-jdbc-adapter
370
- prerelease: false
397
+ version: 0.12.2
371
398
  type: :development
399
+ prerelease: false
372
400
  version_requirements: !ruby/object:Gem::Requirement
373
401
  requirements:
374
402
  - - "~>"
375
403
  - !ruby/object:Gem::Version
376
- version: 1.3.9
404
+ version: 0.12.2
377
405
  - !ruby/object:Gem::Dependency
406
+ name: mysql2
378
407
  requirement: !ruby/object:Gem::Requirement
379
408
  requirements:
380
- - - "~>"
409
+ - - ">="
381
410
  - !ruby/object:Gem::Version
382
- version: 1.3.9
383
- name: activerecord-jdbcmysql-adapter
384
- prerelease: false
411
+ version: '0'
385
412
  type: :development
413
+ prerelease: false
386
414
  version_requirements: !ruby/object:Gem::Requirement
387
415
  requirements:
388
- - - "~>"
416
+ - - ">="
389
417
  - !ruby/object:Gem::Version
390
- version: 1.3.9
418
+ version: '0'
391
419
  - !ruby/object:Gem::Dependency
420
+ name: pg
392
421
  requirement: !ruby/object:Gem::Requirement
393
422
  requirements:
394
- - - "~>"
423
+ - - ">="
395
424
  - !ruby/object:Gem::Version
396
- version: 1.3.9
397
- name: activerecord-jdbcsqlite3-adapter
425
+ version: '0'
426
+ type: :development
398
427
  prerelease: false
428
+ version_requirements: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - ">="
431
+ - !ruby/object:Gem::Version
432
+ version: '0'
433
+ - !ruby/object:Gem::Dependency
434
+ name: rack-mini-profiler
435
+ requirement: !ruby/object:Gem::Requirement
436
+ requirements:
437
+ - - ">="
438
+ - !ruby/object:Gem::Version
439
+ version: '0'
399
440
  type: :development
441
+ prerelease: false
400
442
  version_requirements: !ruby/object:Gem::Requirement
401
443
  requirements:
402
- - - "~>"
444
+ - - ">="
403
445
  - !ruby/object:Gem::Version
404
- version: 1.3.9
446
+ version: '0'
405
447
  - !ruby/object:Gem::Dependency
448
+ name: flamegraph
406
449
  requirement: !ruby/object:Gem::Requirement
407
450
  requirements:
408
- - - "~>"
451
+ - - ">="
409
452
  - !ruby/object:Gem::Version
410
- version: 5.1.25
411
- name: jdbc-mysql
453
+ version: '0'
454
+ type: :development
412
455
  prerelease: false
456
+ version_requirements: !ruby/object:Gem::Requirement
457
+ requirements:
458
+ - - ">="
459
+ - !ruby/object:Gem::Version
460
+ version: '0'
461
+ - !ruby/object:Gem::Dependency
462
+ name: stackprof
463
+ requirement: !ruby/object:Gem::Requirement
464
+ requirements:
465
+ - - ">="
466
+ - !ruby/object:Gem::Version
467
+ version: '0'
413
468
  type: :development
469
+ prerelease: false
414
470
  version_requirements: !ruby/object:Gem::Requirement
415
471
  requirements:
416
- - - "~>"
472
+ - - ">="
417
473
  - !ruby/object:Gem::Version
418
- version: 5.1.25
474
+ version: '0'
419
475
  description: Rails UI plugin for Killbill administration.
420
476
  email: killbilling-users@googlegroups.com
421
- executables:
422
- - kaui
477
+ executables: []
423
478
  extensions: []
424
479
  extra_rdoc_files: []
425
480
  files:
426
- - ".gitignore"
427
- - ".travis.yml"
428
- - Gemfile
429
481
  - MIT-LICENSE
430
482
  - README.md
431
483
  - Rakefile
432
- - app/assets/images/kaui/.gitkeep
433
484
  - app/assets/images/kaui/duck.png
434
485
  - app/assets/images/kaui/logo.png
435
486
  - app/assets/images/kaui/search.png
@@ -439,17 +490,20 @@ files:
439
490
  - app/assets/javascripts/kaui/kaui.js
440
491
  - app/assets/javascripts/kaui/validation.js
441
492
  - app/assets/stylesheets/application.css
442
- - app/assets/stylesheets/bootstrap_and_overrides.less
493
+ - app/assets/stylesheets/bootstrap_and_overrides.css.less
494
+ - app/assets/stylesheets/kaui/account.less
443
495
  - app/assets/stylesheets/kaui/common.less
444
496
  - app/assets/stylesheets/kaui/datatable.less
445
497
  - app/assets/stylesheets/kaui/header.less
446
498
  - app/assets/stylesheets/kaui/home.less
447
499
  - app/assets/stylesheets/kaui/invoice.less
448
500
  - app/assets/stylesheets/kaui/kaui.less
501
+ - app/assets/stylesheets/kaui/overdue.less
449
502
  - app/assets/stylesheets/kaui/payment.less
450
503
  - app/assets/stylesheets/kaui/subscription.less
451
504
  - app/assets/stylesheets/kaui/tags.less
452
505
  - app/assets/stylesheets/kaui/timeline.less
506
+ - app/controllers/kaui/account_children_controller.rb
453
507
  - app/controllers/kaui/account_emails_controller.rb
454
508
  - app/controllers/kaui/account_tags_controller.rb
455
509
  - app/controllers/kaui/account_timelines_controller.rb
@@ -485,11 +539,15 @@ files:
485
539
  - app/helpers/kaui/application_helper.rb
486
540
  - app/helpers/kaui/date_helper.rb
487
541
  - app/helpers/kaui/home_helper.rb
542
+ - app/helpers/kaui/locale_helper.rb
543
+ - app/helpers/kaui/locale_helper.yml
488
544
  - app/helpers/kaui/money_helper.rb
489
545
  - app/helpers/kaui/object_helper.rb
490
546
  - app/helpers/kaui/payment_helper.rb
491
547
  - app/helpers/kaui/payment_method_helper.rb
492
548
  - app/helpers/kaui/subscription_helper.rb
549
+ - app/helpers/kaui/us_states_helper.rb
550
+ - app/helpers/kaui/us_states_helper.yml
493
551
  - app/helpers/kaui/uuid_helper.rb
494
552
  - app/models/kaui/ability.rb
495
553
  - app/models/kaui/account.rb
@@ -499,6 +557,7 @@ files:
499
557
  - app/models/kaui/admin_tenant.rb
500
558
  - app/models/kaui/allowed_user.rb
501
559
  - app/models/kaui/allowed_user_tenant.rb
560
+ - app/models/kaui/application_record.rb
502
561
  - app/models/kaui/audit_log.rb
503
562
  - app/models/kaui/base.rb
504
563
  - app/models/kaui/bundle.rb
@@ -526,6 +585,7 @@ files:
526
585
  - app/models/kaui/transaction.rb
527
586
  - app/models/kaui/user.rb
528
587
  - app/models/kaui/user_role.rb
588
+ - app/views/kaui/account_children/index.html.erb
529
589
  - app/views/kaui/account_emails/_account_emails_table.html.erb
530
590
  - app/views/kaui/account_emails/_form.html.erb
531
591
  - app/views/kaui/account_emails/new.html.erb
@@ -536,6 +596,8 @@ files:
536
596
  - app/views/kaui/accounts/_account_info.html.erb
537
597
  - app/views/kaui/accounts/_billing_info.html.erb
538
598
  - app/views/kaui/accounts/_form.html.erb
599
+ - app/views/kaui/accounts/_link_parent_modal.html.erb
600
+ - app/views/kaui/accounts/_parent.html.erb
539
601
  - app/views/kaui/accounts/_payment_methods.html.erb
540
602
  - app/views/kaui/accounts/edit.html.erb
541
603
  - app/views/kaui/accounts/index.html.erb
@@ -579,6 +641,7 @@ files:
579
641
  - app/views/kaui/credits/_form.html.erb
580
642
  - app/views/kaui/credits/new.html.erb
581
643
  - app/views/kaui/custom_fields/_form.html.erb
644
+ - app/views/kaui/custom_fields/_list_bar.html.erb
582
645
  - app/views/kaui/custom_fields/index.html.erb
583
646
  - app/views/kaui/custom_fields/new.html.erb
584
647
  - app/views/kaui/home/index.html.erb
@@ -597,6 +660,7 @@ files:
597
660
  - app/views/kaui/payment_methods/_new_creditcard_payment_method.html.erb
598
661
  - app/views/kaui/payment_methods/_payment_methods_details_table.html.erb
599
662
  - app/views/kaui/payment_methods/_payment_methods_table.html.erb
663
+ - app/views/kaui/payment_methods/_plugin_properties.html.erb
600
664
  - app/views/kaui/payment_methods/new.html.erb
601
665
  - app/views/kaui/payments/_form.html.erb
602
666
  - app/views/kaui/payments/_payment_table.html.erb
@@ -625,9 +689,10 @@ files:
625
689
  - app/views/kaui/tags/index.html.erb
626
690
  - app/views/kaui/tenants/_form.html.erb
627
691
  - app/views/kaui/tenants/index.html.erb
692
+ - app/views/kaui/transactions/_control_plugin_names.html.erb
628
693
  - app/views/kaui/transactions/_form.html.erb
629
694
  - app/views/kaui/transactions/new.html.erb
630
- - bin/kaui
695
+ - config/initializers/asset.rb
631
696
  - config/initializers/devise.rb
632
697
  - config/initializers/kilbill-client-init.rb
633
698
  - config/initializers/killbill_authenticatable.rb
@@ -640,8 +705,11 @@ files:
640
705
  - config/routes.rb
641
706
  - config/symmetric-encryption.yml
642
707
  - db/ddl.sql
708
+ - db/migrate/20130812155313_devise_create_kaui_users.rb
709
+ - db/migrate/20150109214021_create_kaui_tenants.rb
710
+ - db/migrate/20150112232813_create_kaui_allowed_users.rb
643
711
  - db/schema.rb
644
- - kaui.gemspec
712
+ - lib/core_ext.rb
645
713
  - lib/generators/kaui/install/install_generator.rb
646
714
  - lib/generators/kaui/install/templates/config/initializers/kaui.rb
647
715
  - lib/kaui.rb
@@ -649,15 +717,16 @@ files:
649
717
  - lib/kaui/installer/installer.rb
650
718
  - lib/kaui/version.rb
651
719
  - lib/tasks/kaui_tasks.rake
652
- - script/rails
653
- - script/sandbox
654
- - test/dummy/.gitignore
655
720
  - test/dummy/README.rdoc
656
721
  - test/dummy/Rakefile
657
722
  - test/dummy/app/controllers/application_controller.rb
658
723
  - test/dummy/app/helpers/application_helper.rb
659
- - test/dummy/app/mailers/.gitkeep
660
- - test/dummy/app/models/.gitkeep
724
+ - test/dummy/bin/bundle
725
+ - test/dummy/bin/rails
726
+ - test/dummy/bin/rake
727
+ - test/dummy/bin/setup
728
+ - test/dummy/bin/update
729
+ - test/dummy/bin/yarn
661
730
  - test/dummy/config.ru
662
731
  - test/dummy/config/application.rb
663
732
  - test/dummy/config/boot.rb
@@ -666,19 +735,24 @@ files:
666
735
  - test/dummy/config/environments/development.rb
667
736
  - test/dummy/config/environments/production.rb
668
737
  - test/dummy/config/environments/test.rb
738
+ - test/dummy/config/initializers/application_controller_renderer.rb
739
+ - test/dummy/config/initializers/assets.rb
669
740
  - test/dummy/config/initializers/backtrace_silencers.rb
741
+ - test/dummy/config/initializers/cookies_serializer.rb
742
+ - test/dummy/config/initializers/filter_parameter_logging.rb
670
743
  - test/dummy/config/initializers/inflections.rb
671
744
  - test/dummy/config/initializers/killbill_client.rb
672
745
  - test/dummy/config/initializers/mime_types.rb
746
+ - test/dummy/config/initializers/new_framework_defaults_5_1.rb
673
747
  - test/dummy/config/initializers/secret_token.rb
674
748
  - test/dummy/config/initializers/session_store.rb
675
749
  - test/dummy/config/initializers/wrap_parameters.rb
676
750
  - test/dummy/config/locales/en.yml
677
751
  - test/dummy/config/routes.rb
752
+ - test/dummy/config/secrets.yml
678
753
  - test/dummy/config/symmetric-encryption.yml
679
754
  - test/dummy/db/schema.rb
680
- - test/dummy/lib/assets/.gitkeep
681
- - test/dummy/log/.gitkeep
755
+ - test/dummy/log/test.log
682
756
  - test/dummy/public/404.html
683
757
  - test/dummy/public/422.html
684
758
  - test/dummy/public/500.html
@@ -690,11 +764,13 @@ files:
690
764
  - test/fixtures/invoice_translation_fr-v1.properties
691
765
  - test/fixtures/overdue-v1.xml
692
766
  - test/fixtures/stripe.yml
767
+ - test/functional/kaui/account_children_controller_test.rb
693
768
  - test/functional/kaui/account_emails_controller_test.rb
694
769
  - test/functional/kaui/account_tags_controller_test.rb
695
770
  - test/functional/kaui/account_timelines_controller_test.rb
696
771
  - test/functional/kaui/accounts_controller_test.rb
697
772
  - test/functional/kaui/admin_allowed_users_controller_test.rb
773
+ - test/functional/kaui/admin_controller_test.rb
698
774
  - test/functional/kaui/admin_tenants_controller_test.rb
699
775
  - test/functional/kaui/bundle_tags_controller_test.rb
700
776
  - test/functional/kaui/bundles_controller_test.rb
@@ -707,14 +783,19 @@ files:
707
783
  - test/functional/kaui/home_controller_test.rb
708
784
  - test/functional/kaui/invoice_items_controller_test.rb
709
785
  - test/functional/kaui/invoices_controller_test.rb
786
+ - test/functional/kaui/login_proxy_controller_test.rb
710
787
  - test/functional/kaui/payment_methods_controller_test.rb
711
788
  - test/functional/kaui/payments_controller_test.rb
789
+ - test/functional/kaui/queues_controller_test.rb
712
790
  - test/functional/kaui/refunds_controller_test.rb
791
+ - test/functional/kaui/registrations_controller_test.rb
792
+ - test/functional/kaui/role_definitions_controller_test.rb
713
793
  - test/functional/kaui/subscriptions_controller_test.rb
714
794
  - test/functional/kaui/tag_definitions_controller_test.rb
715
795
  - test/functional/kaui/tags_controller_test.rb
716
796
  - test/functional/kaui/tenants_controller_test.rb
717
797
  - test/functional/kaui/transactions_controller_test.rb
798
+ - test/integration/kaui/date_helper_integration_test.rb
718
799
  - test/integration/kaui/integration_test_helper.rb
719
800
  - test/integration/kaui/navigation_test.rb
720
801
  - test/killbill_test_helper.rb
@@ -739,7 +820,7 @@ homepage: http://www.killbill.io
739
820
  licenses:
740
821
  - Apache License (2.0)
741
822
  metadata: {}
742
- post_install_message:
823
+ post_install_message:
743
824
  rdoc_options: []
744
825
  require_paths:
745
826
  - lib
@@ -754,9 +835,108 @@ required_rubygems_version: !ruby/object:Gem::Requirement
754
835
  - !ruby/object:Gem::Version
755
836
  version: '0'
756
837
  requirements: []
757
- rubyforge_project:
758
- rubygems_version: 2.4.8
759
- signing_key:
838
+ rubyforge_project:
839
+ rubygems_version: 2.6.13
840
+ signing_key:
760
841
  specification_version: 4
761
842
  summary: Killbill Admin UI mountable engine
762
- test_files: []
843
+ test_files:
844
+ - test/fixtures/catalog-v1.xml
845
+ - test/fixtures/invoice_translation_fr-v1.properties
846
+ - test/fixtures/catalog_translation_fr-v1.properties
847
+ - test/fixtures/invoice_template-v1.html
848
+ - test/fixtures/overdue-v1.xml
849
+ - test/fixtures/stripe.yml
850
+ - test/unit/kaui/payment_test.rb
851
+ - test/unit/kaui/base_test.rb
852
+ - test/unit/kaui/invoice_test.rb
853
+ - test/unit/kaui/allowed_user_test.rb
854
+ - test/unit/kaui/invoice_payment_test.rb
855
+ - test/unit/kaui/account_test.rb
856
+ - test/unit/kaui/invoice_item_test.rb
857
+ - test/unit/kaui/tag_definition_test.rb
858
+ - test/unit/kaui/account_email_test.rb
859
+ - test/unit/kaui/date_helper_test.rb
860
+ - test/unit/kaui/tenant_test.rb
861
+ - test/unit/kaui/money_helper_test.rb
862
+ - test/unit/kaui/uuid_helper_test.rb
863
+ - test/unit/helpers/kaui/tenants_helper_test.rb
864
+ - test/unit/helpers/kaui/admin_tenants_helper_test.rb
865
+ - test/unit/helpers/kaui/admin_allowed_users_helper_test.rb
866
+ - test/test_helper.rb
867
+ - test/integration/kaui/integration_test_helper.rb
868
+ - test/integration/kaui/navigation_test.rb
869
+ - test/integration/kaui/date_helper_integration_test.rb
870
+ - test/dummy/log/test.log
871
+ - test/dummy/public/404.html
872
+ - test/dummy/public/422.html
873
+ - test/dummy/public/500.html
874
+ - test/dummy/public/favicon.ico
875
+ - test/dummy/config/secrets.yml
876
+ - test/dummy/config/locales/en.yml
877
+ - test/dummy/config/environment.rb
878
+ - test/dummy/config/routes.rb
879
+ - test/dummy/config/symmetric-encryption.yml
880
+ - test/dummy/config/environments/test.rb
881
+ - test/dummy/config/environments/production.rb
882
+ - test/dummy/config/environments/development.rb
883
+ - test/dummy/config/database.yml
884
+ - test/dummy/config/initializers/new_framework_defaults_5_1.rb
885
+ - test/dummy/config/initializers/inflections.rb
886
+ - test/dummy/config/initializers/assets.rb
887
+ - test/dummy/config/initializers/backtrace_silencers.rb
888
+ - test/dummy/config/initializers/killbill_client.rb
889
+ - test/dummy/config/initializers/filter_parameter_logging.rb
890
+ - test/dummy/config/initializers/mime_types.rb
891
+ - test/dummy/config/initializers/application_controller_renderer.rb
892
+ - test/dummy/config/initializers/secret_token.rb
893
+ - test/dummy/config/initializers/cookies_serializer.rb
894
+ - test/dummy/config/initializers/session_store.rb
895
+ - test/dummy/config/initializers/wrap_parameters.rb
896
+ - test/dummy/config/boot.rb
897
+ - test/dummy/config/application.rb
898
+ - test/dummy/Rakefile
899
+ - test/dummy/script/rails
900
+ - test/dummy/README.rdoc
901
+ - test/dummy/app/controllers/application_controller.rb
902
+ - test/dummy/app/helpers/application_helper.rb
903
+ - test/dummy/config.ru
904
+ - test/dummy/bin/rake
905
+ - test/dummy/bin/bundle
906
+ - test/dummy/bin/update
907
+ - test/dummy/bin/setup
908
+ - test/dummy/bin/yarn
909
+ - test/dummy/bin/rails
910
+ - test/dummy/db/schema.rb
911
+ - test/killbill_test_helper.rb
912
+ - test/functional/kaui/transactions_controller_test.rb
913
+ - test/functional/kaui/admin_tenants_controller_test.rb
914
+ - test/functional/kaui/credits_controller_test.rb
915
+ - test/functional/kaui/home_controller_test.rb
916
+ - test/functional/kaui/tag_definitions_controller_test.rb
917
+ - test/functional/kaui/account_children_controller_test.rb
918
+ - test/functional/kaui/account_timelines_controller_test.rb
919
+ - test/functional/kaui/custom_fields_controller_test.rb
920
+ - test/functional/kaui/charges_controller_test.rb
921
+ - test/functional/kaui/account_emails_controller_test.rb
922
+ - test/functional/kaui/queues_controller_test.rb
923
+ - test/functional/kaui/admin_controller_test.rb
924
+ - test/functional/kaui/accounts_controller_test.rb
925
+ - test/functional/kaui/subscriptions_controller_test.rb
926
+ - test/functional/kaui/chargebacks_controller_test.rb
927
+ - test/functional/kaui/payments_controller_test.rb
928
+ - test/functional/kaui/bundles_controller_test.rb
929
+ - test/functional/kaui/tags_controller_test.rb
930
+ - test/functional/kaui/account_tags_controller_test.rb
931
+ - test/functional/kaui/functional_test_helper_nosetup.rb
932
+ - test/functional/kaui/invoice_items_controller_test.rb
933
+ - test/functional/kaui/admin_allowed_users_controller_test.rb
934
+ - test/functional/kaui/refunds_controller_test.rb
935
+ - test/functional/kaui/registrations_controller_test.rb
936
+ - test/functional/kaui/invoices_controller_test.rb
937
+ - test/functional/kaui/role_definitions_controller_test.rb
938
+ - test/functional/kaui/payment_methods_controller_test.rb
939
+ - test/functional/kaui/bundle_tags_controller_test.rb
940
+ - test/functional/kaui/login_proxy_controller_test.rb
941
+ - test/functional/kaui/tenants_controller_test.rb
942
+ - test/functional/kaui/functional_test_helper.rb