activity_notification 2.4.1 → 2.5.0

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.
Files changed (250) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/app/jobs/activity_notification/cascading_notification_job.rb +123 -0
  4. data/docs/Functions.md +197 -1
  5. data/lib/activity_notification/apis/cascading_notification_api.rb +208 -0
  6. data/lib/activity_notification/apis/notification_api.rb +3 -0
  7. data/lib/activity_notification/config.rb +10 -0
  8. data/lib/activity_notification/mailers/helpers.rb +27 -1
  9. data/lib/activity_notification/version.rb +1 -1
  10. data/lib/generators/templates/activity_notification.rb +8 -0
  11. metadata +5 -441
  12. data/.codeclimate.yml +0 -33
  13. data/.coveralls.yml +0 -1
  14. data/.github/ISSUE_TEMPLATE/bug_report.md +0 -22
  15. data/.github/ISSUE_TEMPLATE/feature_request.md +0 -17
  16. data/.github/pull_request_template.md +0 -13
  17. data/.github/workflows/build.yml +0 -100
  18. data/.gitignore +0 -74
  19. data/.rspec +0 -3
  20. data/.rubocop.yml +0 -1157
  21. data/.yardopts +0 -6
  22. data/CHANGELOG.md +0 -452
  23. data/Gemfile +0 -31
  24. data/Procfile +0 -2
  25. data/Rakefile +0 -28
  26. data/activity_notification.gemspec +0 -44
  27. data/ai-curated-specs/issues/172/design.md +0 -220
  28. data/ai-curated-specs/issues/172/tasks.md +0 -326
  29. data/ai-curated-specs/issues/188/design.md +0 -227
  30. data/ai-curated-specs/issues/188/requirements.md +0 -78
  31. data/ai-curated-specs/issues/188/tasks.md +0 -203
  32. data/ai-curated-specs/issues/188/upstream-contributions.md +0 -592
  33. data/ai-curated-specs/issues/50/design.md +0 -235
  34. data/ai-curated-specs/issues/50/requirements.md +0 -49
  35. data/ai-curated-specs/issues/50/tasks.md +0 -232
  36. data/bin/_dynamodblocal +0 -4
  37. data/bin/bundle_update.sh +0 -7
  38. data/bin/deploy_on_heroku.sh +0 -16
  39. data/bin/install_dynamodblocal.sh +0 -5
  40. data/bin/start_dynamodblocal.sh +0 -47
  41. data/bin/stop_dynamodblocal.sh +0 -34
  42. data/gemfiles/Gemfile.rails-5.0 +0 -25
  43. data/gemfiles/Gemfile.rails-5.1 +0 -25
  44. data/gemfiles/Gemfile.rails-5.2 +0 -24
  45. data/gemfiles/Gemfile.rails-6.0 +0 -23
  46. data/gemfiles/Gemfile.rails-6.1 +0 -22
  47. data/gemfiles/Gemfile.rails-7.0 +0 -25
  48. data/gemfiles/Gemfile.rails-7.1 +0 -23
  49. data/gemfiles/Gemfile.rails-7.2 +0 -23
  50. data/gemfiles/Gemfile.rails-8.0 +0 -24
  51. data/package.json +0 -8
  52. data/spec/channels/notification_api_channel_shared_examples.rb +0 -59
  53. data/spec/channels/notification_api_channel_spec.rb +0 -49
  54. data/spec/channels/notification_api_with_devise_channel_spec.rb +0 -76
  55. data/spec/channels/notification_channel_shared_examples.rb +0 -59
  56. data/spec/channels/notification_channel_spec.rb +0 -48
  57. data/spec/channels/notification_with_devise_channel_spec.rb +0 -97
  58. data/spec/concerns/apis/notification_api_spec.rb +0 -1627
  59. data/spec/concerns/apis/subscription_api_spec.rb +0 -474
  60. data/spec/concerns/common_spec.rb +0 -213
  61. data/spec/concerns/models/group_spec.rb +0 -61
  62. data/spec/concerns/models/notifiable_spec.rb +0 -782
  63. data/spec/concerns/models/notifier_spec.rb +0 -71
  64. data/spec/concerns/models/subscriber_spec.rb +0 -800
  65. data/spec/concerns/models/target_spec.rb +0 -1285
  66. data/spec/concerns/renderable_spec.rb +0 -129
  67. data/spec/config_spec.rb +0 -85
  68. data/spec/controllers/common_controller_spec.rb +0 -25
  69. data/spec/controllers/controller_spec_utility.rb +0 -100
  70. data/spec/controllers/dummy_common_controller.rb +0 -5
  71. data/spec/controllers/notifications_api_controller_shared_examples.rb +0 -619
  72. data/spec/controllers/notifications_api_controller_spec.rb +0 -19
  73. data/spec/controllers/notifications_api_with_devise_controller_spec.rb +0 -60
  74. data/spec/controllers/notifications_controller_shared_examples.rb +0 -743
  75. data/spec/controllers/notifications_controller_spec.rb +0 -11
  76. data/spec/controllers/notifications_with_devise_controller_spec.rb +0 -97
  77. data/spec/controllers/subscriptions_api_controller_shared_examples.rb +0 -750
  78. data/spec/controllers/subscriptions_api_controller_spec.rb +0 -19
  79. data/spec/controllers/subscriptions_api_with_devise_controller_spec.rb +0 -60
  80. data/spec/controllers/subscriptions_controller_shared_examples.rb +0 -946
  81. data/spec/controllers/subscriptions_controller_spec.rb +0 -11
  82. data/spec/controllers/subscriptions_with_devise_controller_spec.rb +0 -97
  83. data/spec/factories/admins.rb +0 -5
  84. data/spec/factories/articles.rb +0 -5
  85. data/spec/factories/comments.rb +0 -6
  86. data/spec/factories/dummy/dummy_group.rb +0 -4
  87. data/spec/factories/dummy/dummy_notifiable.rb +0 -4
  88. data/spec/factories/dummy/dummy_notifier.rb +0 -4
  89. data/spec/factories/dummy/dummy_subscriber.rb +0 -4
  90. data/spec/factories/dummy/dummy_target.rb +0 -4
  91. data/spec/factories/notifications.rb +0 -7
  92. data/spec/factories/subscriptions.rb +0 -8
  93. data/spec/factories/users.rb +0 -11
  94. data/spec/generators/controllers_generator_spec.rb +0 -85
  95. data/spec/generators/install_generator_spec.rb +0 -43
  96. data/spec/generators/migration/migration_generator_spec.rb +0 -80
  97. data/spec/generators/models_generator_spec.rb +0 -96
  98. data/spec/generators/views_generator_spec.rb +0 -195
  99. data/spec/helpers/polymorphic_helpers_spec.rb +0 -89
  100. data/spec/helpers/view_helpers_spec.rb +0 -547
  101. data/spec/jobs/notification_resilience_job_spec.rb +0 -167
  102. data/spec/jobs/notify_all_job_spec.rb +0 -23
  103. data/spec/jobs/notify_job_spec.rb +0 -23
  104. data/spec/jobs/notify_to_job_spec.rb +0 -23
  105. data/spec/mailers/mailer_spec.rb +0 -214
  106. data/spec/mailers/notification_resilience_spec.rb +0 -263
  107. data/spec/models/dummy/dummy_group_spec.rb +0 -10
  108. data/spec/models/dummy/dummy_notifiable_spec.rb +0 -10
  109. data/spec/models/dummy/dummy_notifier_spec.rb +0 -10
  110. data/spec/models/dummy/dummy_subscriber_spec.rb +0 -8
  111. data/spec/models/dummy/dummy_target_spec.rb +0 -10
  112. data/spec/models/notification_spec.rb +0 -472
  113. data/spec/models/subscription_spec.rb +0 -215
  114. data/spec/optional_targets/action_cable_api_channel_spec.rb +0 -34
  115. data/spec/optional_targets/action_cable_channel_spec.rb +0 -41
  116. data/spec/optional_targets/amazon_sns_spec.rb +0 -47
  117. data/spec/optional_targets/base_spec.rb +0 -45
  118. data/spec/optional_targets/slack_spec.rb +0 -44
  119. data/spec/orm/dynamoid_spec.rb +0 -115
  120. data/spec/rails_app/Rakefile +0 -15
  121. data/spec/rails_app/app/assets/config/manifest.js +0 -3
  122. data/spec/rails_app/app/assets/images/.keep +0 -0
  123. data/spec/rails_app/app/assets/javascripts/application.js +0 -3
  124. data/spec/rails_app/app/assets/javascripts/cable.js +0 -12
  125. data/spec/rails_app/app/assets/stylesheets/application.css +0 -15
  126. data/spec/rails_app/app/assets/stylesheets/reset.css +0 -85
  127. data/spec/rails_app/app/assets/stylesheets/style.css +0 -244
  128. data/spec/rails_app/app/controllers/admins_controller.rb +0 -21
  129. data/spec/rails_app/app/controllers/application_controller.rb +0 -5
  130. data/spec/rails_app/app/controllers/articles_controller.rb +0 -67
  131. data/spec/rails_app/app/controllers/comments_controller.rb +0 -36
  132. data/spec/rails_app/app/controllers/concerns/.keep +0 -0
  133. data/spec/rails_app/app/controllers/spa_controller.rb +0 -7
  134. data/spec/rails_app/app/controllers/users/notifications_controller.rb +0 -2
  135. data/spec/rails_app/app/controllers/users/notifications_with_devise_controller.rb +0 -2
  136. data/spec/rails_app/app/controllers/users/subscriptions_controller.rb +0 -2
  137. data/spec/rails_app/app/controllers/users/subscriptions_with_devise_controller.rb +0 -2
  138. data/spec/rails_app/app/controllers/users_controller.rb +0 -26
  139. data/spec/rails_app/app/helpers/application_helper.rb +0 -2
  140. data/spec/rails_app/app/helpers/devise_helper.rb +0 -2
  141. data/spec/rails_app/app/javascript/App.vue +0 -40
  142. data/spec/rails_app/app/javascript/components/DeviseTokenAuth.vue +0 -82
  143. data/spec/rails_app/app/javascript/components/Top.vue +0 -98
  144. data/spec/rails_app/app/javascript/components/notifications/Index.vue +0 -200
  145. data/spec/rails_app/app/javascript/components/notifications/Notification.vue +0 -133
  146. data/spec/rails_app/app/javascript/components/notifications/NotificationContent.vue +0 -122
  147. data/spec/rails_app/app/javascript/components/subscriptions/Index.vue +0 -279
  148. data/spec/rails_app/app/javascript/components/subscriptions/NewSubscription.vue +0 -112
  149. data/spec/rails_app/app/javascript/components/subscriptions/NotificationKey.vue +0 -141
  150. data/spec/rails_app/app/javascript/components/subscriptions/Subscription.vue +0 -226
  151. data/spec/rails_app/app/javascript/config/development.js +0 -5
  152. data/spec/rails_app/app/javascript/config/environment.js +0 -7
  153. data/spec/rails_app/app/javascript/config/production.js +0 -5
  154. data/spec/rails_app/app/javascript/config/test.js +0 -5
  155. data/spec/rails_app/app/javascript/packs/application.js +0 -18
  156. data/spec/rails_app/app/javascript/packs/spa.js +0 -14
  157. data/spec/rails_app/app/javascript/router/index.js +0 -73
  158. data/spec/rails_app/app/javascript/store/index.js +0 -37
  159. data/spec/rails_app/app/mailers/.keep +0 -0
  160. data/spec/rails_app/app/mailers/custom_notification_mailer.rb +0 -5
  161. data/spec/rails_app/app/models/admin.rb +0 -35
  162. data/spec/rails_app/app/models/article.rb +0 -54
  163. data/spec/rails_app/app/models/comment.rb +0 -81
  164. data/spec/rails_app/app/models/dummy/dummy_base.rb +0 -11
  165. data/spec/rails_app/app/models/dummy/dummy_group.rb +0 -23
  166. data/spec/rails_app/app/models/dummy/dummy_notifiable.rb +0 -15
  167. data/spec/rails_app/app/models/dummy/dummy_notifiable_target.rb +0 -27
  168. data/spec/rails_app/app/models/dummy/dummy_notifier.rb +0 -15
  169. data/spec/rails_app/app/models/dummy/dummy_subscriber.rb +0 -14
  170. data/spec/rails_app/app/models/dummy/dummy_target.rb +0 -16
  171. data/spec/rails_app/app/models/user.rb +0 -73
  172. data/spec/rails_app/app/views/activity_notification/mailer/dummy_subscribers/test_key.text.erb +0 -1
  173. data/spec/rails_app/app/views/activity_notification/notifications/default/article/_update.html.erb +0 -146
  174. data/spec/rails_app/app/views/activity_notification/notifications/default/custom/_path_test.html.erb +0 -1
  175. data/spec/rails_app/app/views/activity_notification/notifications/default/custom/_test.html.erb +0 -1
  176. data/spec/rails_app/app/views/activity_notification/notifications/users/_custom_index.html.erb +0 -1
  177. data/spec/rails_app/app/views/activity_notification/notifications/users/custom/_test.html.erb +0 -1
  178. data/spec/rails_app/app/views/activity_notification/notifications/users/overridden/custom/_test.html.erb +0 -1
  179. data/spec/rails_app/app/views/activity_notification/optional_targets/admins/amazon_sns/comment/_default.text.erb +0 -10
  180. data/spec/rails_app/app/views/articles/_form.html.erb +0 -24
  181. data/spec/rails_app/app/views/articles/edit.html.erb +0 -8
  182. data/spec/rails_app/app/views/articles/index.html.erb +0 -113
  183. data/spec/rails_app/app/views/articles/new.html.erb +0 -7
  184. data/spec/rails_app/app/views/articles/show.html.erb +0 -49
  185. data/spec/rails_app/app/views/layouts/_header.html.erb +0 -46
  186. data/spec/rails_app/app/views/layouts/application.html.erb +0 -15
  187. data/spec/rails_app/app/views/spa/index.html.erb +0 -2
  188. data/spec/rails_app/babel.config.js +0 -72
  189. data/spec/rails_app/bin/bundle +0 -3
  190. data/spec/rails_app/bin/rails +0 -4
  191. data/spec/rails_app/bin/rake +0 -4
  192. data/spec/rails_app/bin/setup +0 -29
  193. data/spec/rails_app/bin/webpack +0 -18
  194. data/spec/rails_app/bin/webpack-dev-server +0 -18
  195. data/spec/rails_app/config/application.rb +0 -54
  196. data/spec/rails_app/config/boot.rb +0 -5
  197. data/spec/rails_app/config/cable.yml +0 -8
  198. data/spec/rails_app/config/database.yml +0 -36
  199. data/spec/rails_app/config/dynamoid.rb +0 -13
  200. data/spec/rails_app/config/environment.rb +0 -26
  201. data/spec/rails_app/config/environments/development.rb +0 -60
  202. data/spec/rails_app/config/environments/production.rb +0 -85
  203. data/spec/rails_app/config/environments/test.rb +0 -53
  204. data/spec/rails_app/config/initializers/activity_notification.rb +0 -104
  205. data/spec/rails_app/config/initializers/assets.rb +0 -11
  206. data/spec/rails_app/config/initializers/backtrace_silencers.rb +0 -7
  207. data/spec/rails_app/config/initializers/cookies_serializer.rb +0 -3
  208. data/spec/rails_app/config/initializers/copy_it.aws.rb.template +0 -6
  209. data/spec/rails_app/config/initializers/devise.rb +0 -278
  210. data/spec/rails_app/config/initializers/devise_token_auth.rb +0 -55
  211. data/spec/rails_app/config/initializers/filter_parameter_logging.rb +0 -4
  212. data/spec/rails_app/config/initializers/inflections.rb +0 -16
  213. data/spec/rails_app/config/initializers/mime_types.rb +0 -4
  214. data/spec/rails_app/config/initializers/mysql.rb +0 -9
  215. data/spec/rails_app/config/initializers/session_store.rb +0 -3
  216. data/spec/rails_app/config/initializers/wrap_parameters.rb +0 -14
  217. data/spec/rails_app/config/initializers/zeitwerk.rb +0 -10
  218. data/spec/rails_app/config/locales/activity_notification.en.yml +0 -26
  219. data/spec/rails_app/config/locales/devise.en.yml +0 -62
  220. data/spec/rails_app/config/mongoid.yml +0 -13
  221. data/spec/rails_app/config/routes.rb +0 -50
  222. data/spec/rails_app/config/secrets.yml +0 -22
  223. data/spec/rails_app/config/webpack/development.js +0 -5
  224. data/spec/rails_app/config/webpack/environment.js +0 -7
  225. data/spec/rails_app/config/webpack/loaders/vue.js +0 -6
  226. data/spec/rails_app/config/webpack/production.js +0 -5
  227. data/spec/rails_app/config/webpack/test.js +0 -5
  228. data/spec/rails_app/config/webpacker.yml +0 -97
  229. data/spec/rails_app/config.ru +0 -4
  230. data/spec/rails_app/db/migrate/20160716000000_create_test_tables.rb +0 -42
  231. data/spec/rails_app/db/migrate/20181209000000_create_activity_notification_tables.rb +0 -33
  232. data/spec/rails_app/db/migrate/20191201000000_add_tokens_to_users.rb +0 -10
  233. data/spec/rails_app/db/schema.rb +0 -98
  234. data/spec/rails_app/db/seeds.rb +0 -95
  235. data/spec/rails_app/lib/custom_optional_targets/console_output.rb +0 -16
  236. data/spec/rails_app/lib/custom_optional_targets/raise_error.rb +0 -14
  237. data/spec/rails_app/lib/custom_optional_targets/wrong_target.rb +0 -13
  238. data/spec/rails_app/lib/mailer_previews/mailer_preview.rb +0 -29
  239. data/spec/rails_app/package.json +0 -23
  240. data/spec/rails_app/postcss.config.js +0 -12
  241. data/spec/rails_app/public/404.html +0 -67
  242. data/spec/rails_app/public/422.html +0 -67
  243. data/spec/rails_app/public/500.html +0 -66
  244. data/spec/rails_app/public/favicon.ico +0 -0
  245. data/spec/roles/acts_as_group_spec.rb +0 -30
  246. data/spec/roles/acts_as_notifiable_spec.rb +0 -432
  247. data/spec/roles/acts_as_notifier_spec.rb +0 -30
  248. data/spec/roles/acts_as_target_spec.rb +0 -36
  249. data/spec/spec_helper.rb +0 -56
  250. data/spec/version_spec.rb +0 -31
@@ -1,195 +0,0 @@
1
- require 'generators/activity_notification/views_generator'
2
-
3
- describe ActivityNotification::Generators::ViewsGenerator, type: :generator do
4
-
5
- # setup_default_destination
6
- destination File.expand_path("../../../tmp", __FILE__)
7
- before { prepare_destination }
8
-
9
- it 'runs generating views tasks' do
10
- gen = generator
11
- expect(gen).to receive :copy_views
12
- gen.invoke_all
13
- end
14
-
15
- describe 'the generated files' do
16
- context 'without target argument' do
17
- context 'with target views as default' do
18
- before do
19
- run_generator
20
- end
21
-
22
- describe 'the notification views' do
23
- describe 'default/_default.html.erb' do
24
- subject { file('app/views/activity_notification/notifications/default/_default.html.erb') }
25
- it { is_expected.to exist }
26
- end
27
-
28
- describe 'default/_index.html.erb' do
29
- subject { file('app/views/activity_notification/notifications/default/_index.html.erb') }
30
- it { is_expected.to exist }
31
- end
32
-
33
- describe 'default/destroy.js.erb' do
34
- subject { file('app/views/activity_notification/notifications/default/destroy.js.erb') }
35
- it { is_expected.to exist }
36
- end
37
-
38
- describe 'default/index.html.erb' do
39
- subject { file('app/views/activity_notification/notifications/default/index.html.erb') }
40
- it { is_expected.to exist }
41
- end
42
-
43
- describe 'default/open_all.js.erb' do
44
- subject { file('app/views/activity_notification/notifications/default/open_all.js.erb') }
45
- it { is_expected.to exist }
46
- end
47
-
48
- describe 'default/open.js.erb' do
49
- subject { file('app/views/activity_notification/notifications/default/open.js.erb') }
50
- it { is_expected.to exist }
51
- end
52
-
53
- describe 'default/show.html.erb' do
54
- subject { file('app/views/activity_notification/notifications/default/show.html.erb') }
55
- it { is_expected.to exist }
56
- end
57
- end
58
-
59
- describe 'the mailer views' do
60
- describe 'default/batch_default.html.erb' do
61
- subject { file('app/views/activity_notification/mailer/default/batch_default.html.erb') }
62
- it { is_expected.to exist }
63
- end
64
-
65
- describe 'default/batch_default.text.erb' do
66
- subject { file('app/views/activity_notification/mailer/default/batch_default.text.erb') }
67
- it { is_expected.to exist }
68
- end
69
-
70
- describe 'default/default.html.erb' do
71
- subject { file('app/views/activity_notification/mailer/default/default.html.erb') }
72
- it { is_expected.to exist }
73
- end
74
-
75
- describe 'default/default.text.erb' do
76
- subject { file('app/views/activity_notification/mailer/default/default.text.erb') }
77
- it { is_expected.to exist }
78
- end
79
- end
80
-
81
- describe 'the subscription views' do
82
- describe 'default/_form.html.erb' do
83
- subject { file('app/views/activity_notification/subscriptions/default/_form.html.erb') }
84
- it { is_expected.to exist }
85
- end
86
-
87
- describe 'default/_notification_keys.html.erb' do
88
- subject { file('app/views/activity_notification/subscriptions/default/_notification_keys.html.erb') }
89
- it { is_expected.to exist }
90
- end
91
-
92
- describe 'default/_subscription.html.erb' do
93
- subject { file('app/views/activity_notification/subscriptions/default/_subscription.html.erb') }
94
- it { is_expected.to exist }
95
- end
96
-
97
- describe 'default/_subscriptions.html.erb' do
98
- subject { file('app/views/activity_notification/subscriptions/default/_subscriptions.html.erb') }
99
- it { is_expected.to exist }
100
- end
101
-
102
- describe 'default/create.js.erb' do
103
- subject { file('app/views/activity_notification/subscriptions/default/create.js.erb') }
104
- it { is_expected.to exist }
105
- end
106
-
107
- describe 'default/destroy.js.erb' do
108
- subject { file('app/views/activity_notification/subscriptions/default/destroy.js.erb') }
109
- it { is_expected.to exist }
110
- end
111
-
112
- describe 'default/index.html.erb' do
113
- subject { file('app/views/activity_notification/subscriptions/default/index.html.erb') }
114
- it { is_expected.to exist }
115
- end
116
-
117
- describe 'default/show.html.erb' do
118
- subject { file('app/views/activity_notification/subscriptions/default/show.html.erb') }
119
- it { is_expected.to exist }
120
- end
121
-
122
- describe 'default/subscribe_to_email.js.erb' do
123
- subject { file('app/views/activity_notification/subscriptions/default/subscribe_to_email.js.erb') }
124
- it { is_expected.to exist }
125
- end
126
-
127
- describe 'default/subscribe.js.erb' do
128
- subject { file('app/views/activity_notification/subscriptions/default/subscribe.js.erb') }
129
- it { is_expected.to exist }
130
- end
131
-
132
- describe 'default/unsubscribe_to_email.js.erb' do
133
- subject { file('app/views/activity_notification/subscriptions/default/unsubscribe_to_email.js.erb') }
134
- it { is_expected.to exist }
135
- end
136
-
137
- describe 'default/unsubscribe.js.erb' do
138
- subject { file('app/views/activity_notification/subscriptions/default/unsubscribe.js.erb') }
139
- it { is_expected.to exist }
140
- end
141
- end
142
- end
143
-
144
- context 'with a views option as notifications' do
145
- before do
146
- run_generator %w(--views notifications)
147
- end
148
-
149
- describe 'the notification views' do
150
- describe 'default/index.html.erb' do
151
- subject { file('app/views/activity_notification/notifications/default/index.html.erb') }
152
- it { is_expected.to exist }
153
- end
154
- end
155
-
156
- describe 'the mailer views' do
157
- describe 'default/default.html.erb' do
158
- subject { file('app/views/activity_notification/mailer/default/default.html.erb') }
159
- it { is_expected.not_to exist }
160
- end
161
- end
162
- end
163
- end
164
-
165
- context 'with users as target' do
166
- context 'with target views as default' do
167
- before do
168
- run_generator %w(users)
169
- end
170
-
171
- describe 'the notification views' do
172
- describe 'users/index.html.erb' do
173
- subject { file('app/views/activity_notification/notifications/users/index.html.erb') }
174
- it { is_expected.to exist }
175
- end
176
- end
177
-
178
- describe 'the mailer views' do
179
- describe 'users/default.html.erb' do
180
- subject { file('app/views/activity_notification/mailer/users/default.html.erb') }
181
- it { is_expected.to exist }
182
- end
183
- end
184
-
185
- describe 'the subscription views' do
186
- describe 'users/index.html.erb' do
187
- subject { file('app/views/activity_notification/subscriptions/users/index.html.erb') }
188
- it { is_expected.to exist }
189
- end
190
- end
191
- end
192
- end
193
-
194
- end
195
- end
@@ -1,89 +0,0 @@
1
- describe ActivityNotification::PolymorphicHelpers, type: :helper do
2
-
3
- include ActivityNotification::PolymorphicHelpers
4
-
5
- describe 'extended String class' do
6
- describe "as public instance methods" do
7
- describe '#to_model_name' do
8
- it 'returns singularized and camelized string' do
9
- expect('foo_bars'.to_model_name).to eq('FooBar')
10
- expect('users'.to_model_name).to eq('User')
11
- end
12
- end
13
-
14
- describe '#to_model_class' do
15
- it 'returns class instance' do
16
- expect('users'.to_model_class).to eq(User)
17
- end
18
- end
19
-
20
- describe '#to_resource_name' do
21
- it 'returns singularized underscore string' do
22
- expect('FooBars'.to_resource_name).to eq('foo_bar')
23
- end
24
- end
25
-
26
- describe '#to_resources_name' do
27
- it 'returns pluralized underscore string' do
28
- expect('FooBar'.to_resources_name).to eq('foo_bars')
29
- end
30
- end
31
-
32
- describe '#to_boolean' do
33
- context 'without default argument' do
34
- it 'returns true for string true' do
35
- expect('true'.to_boolean).to eq(true)
36
- end
37
-
38
- it 'returns true for string 1' do
39
- expect('1'.to_boolean).to eq(true)
40
- end
41
-
42
- it 'returns true for string yes' do
43
- expect('yes'.to_boolean).to eq(true)
44
- end
45
-
46
- it 'returns true for string on' do
47
- expect('on'.to_boolean).to eq(true)
48
- end
49
-
50
- it 'returns true for string t' do
51
- expect('t'.to_boolean).to eq(true)
52
- end
53
-
54
- it 'returns false for string false' do
55
- expect('false'.to_boolean).to eq(false)
56
- end
57
-
58
- it 'returns false for string 0' do
59
- expect('0'.to_boolean).to eq(false)
60
- end
61
-
62
- it 'returns false for string no' do
63
- expect('no'.to_boolean).to eq(false)
64
- end
65
-
66
- it 'returns false for string off' do
67
- expect('off'.to_boolean).to eq(false)
68
- end
69
-
70
- it 'returns false for string f' do
71
- expect('f'.to_boolean).to eq(false)
72
- end
73
-
74
- it 'returns nil for other string' do
75
- expect('hoge'.to_boolean).to be_nil
76
- end
77
- end
78
-
79
- context 'with default argument' do
80
- it 'returns default value for other string' do
81
- expect('hoge'.to_boolean(true)).to eq(true)
82
- expect('hoge'.to_boolean(false)).to eq(false)
83
- end
84
- end
85
- end
86
- end
87
- end
88
-
89
- end