meta_notification 0.0.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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +35 -0
- data/app/assets/javascripts/meta_notification/application.js +13 -0
- data/app/assets/stylesheets/meta_notification/application.css +15 -0
- data/app/controllers/meta_notification/api/v1/notification_settings_controller.rb +24 -0
- data/app/controllers/meta_notification/api/v1/notification_templates_controller.rb +61 -0
- data/app/controllers/meta_notification/api/v1/notification_types_controller.rb +64 -0
- data/app/controllers/meta_notification/api/v1/notifications_controller.rb +22 -0
- data/app/controllers/meta_notification/api/v1/user_notification_settings_controller.rb +20 -0
- data/app/controllers/meta_notification/api/v1/user_notifications_controller.rb +75 -0
- data/app/controllers/meta_notification/application_controller.rb +4 -0
- data/app/helpers/meta_notification/application_helper.rb +4 -0
- data/app/models/meta_notification/notification.rb +12 -0
- data/app/models/meta_notification/notification_setting.rb +9 -0
- data/app/models/meta_notification/notification_template.rb +17 -0
- data/app/models/meta_notification/notification_type.rb +22 -0
- data/app/models/meta_notification/user_notification.rb +6 -0
- data/app/models/meta_notification/user_notification_setting.rb +10 -0
- data/app/views/layouts/meta_notification/application.html.erb +14 -0
- data/app/views/meta_notification/api/v1/notification_settings/create.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_settings/destroy.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_settings/index.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_settings/show.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_settings/update.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_templates/create.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_templates/destroy.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_templates/index.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_templates/show.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_templates/update.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_types/create.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_types/destroy.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_types/index.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_types/show.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notification_types/update.html.erb +2 -0
- data/app/views/meta_notification/api/v1/notifications/resource_notification.rabl +14 -0
- data/app/views/meta_notification/api/v1/user_notification_settings/create.html.erb +2 -0
- data/app/views/meta_notification/api/v1/user_notification_settings/destroy.html.erb +2 -0
- data/app/views/meta_notification/api/v1/user_notification_settings/index.html.erb +2 -0
- data/app/views/meta_notification/api/v1/user_notification_settings/show.html.erb +2 -0
- data/app/views/meta_notification/api/v1/user_notification_settings/update.html.erb +2 -0
- data/app/views/meta_notification/api/v1/user_notifications/message_notifications.rabl +0 -0
- data/app/views/meta_notification/api/v1/user_notifications/notifications.rabl +21 -0
- data/config/routes.rb +45 -0
- data/db/migrate/20160615074820_create_meta_notification_notification_types.rb +15 -0
- data/db/migrate/20160618094218_create_meta_notification_notification_templates.rb +19 -0
- data/db/migrate/20160619133533_create_meta_notification_notifications.rb +14 -0
- data/db/migrate/20160620015754_create_meta_notification_user_notifications.rb +12 -0
- data/db/migrate/20160620020944_create_meta_notification_notification_settings.rb +10 -0
- data/db/migrate/20160620052742_create_meta_notification_user_notification_settings.rb +12 -0
- data/db/migrate/20160727124414_add_attachment_attachment_to_mn_notifications.rb +11 -0
- data/lib/api_constraints.rb +10 -0
- data/lib/meta_notification/engine.rb +15 -0
- data/lib/meta_notification/version.rb +3 -0
- data/lib/meta_notification.rb +7 -0
- data/lib/meta_notification_authority.rb +39 -0
- data/lib/mn_authorizers/notification_setting_authorizer.rb +28 -0
- data/lib/mn_authorizers/notification_template_authorizer.rb +28 -0
- data/lib/mn_authorizers/notification_type_authorizer.rb +28 -0
- data/lib/mn_authorizers/test_authorizer.rb +11 -0
- data/lib/mn_authorizers/user_notification_authorizer.rb +28 -0
- data/lib/tasks/meta_notification_tasks.rake +4 -0
- data/spec/controllers/meta_notification/api/v1/notification_settings_controller_spec.rb +42 -0
- data/spec/controllers/meta_notification/api/v1/notification_templates_controller_spec.rb +42 -0
- data/spec/controllers/meta_notification/api/v1/notification_types_controller_spec.rb +42 -0
- data/spec/controllers/meta_notification/api/v1/notifications_controller_spec.rb +7 -0
- data/spec/controllers/meta_notification/api/v1/user_notification_settings_controller_spec.rb +42 -0
- data/spec/controllers/meta_notification/api/v1/user_notifications_controller_spec.rb +42 -0
- data/spec/dummy/README.rdoc +28 -0
- data/spec/dummy/Rakefile +6 -0
- data/spec/dummy/app/assets/javascripts/application.js +13 -0
- data/spec/dummy/app/assets/stylesheets/application.css +15 -0
- data/spec/dummy/app/controllers/application_controller.rb +5 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/bin/bundle +3 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/bin/rake +4 -0
- data/spec/dummy/bin/setup +29 -0
- data/spec/dummy/config/application.rb +33 -0
- data/spec/dummy/config/boot.rb +5 -0
- data/spec/dummy/config/database.yml +54 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +41 -0
- data/spec/dummy/config/environments/production.rb +79 -0
- data/spec/dummy/config/environments/test.rb +42 -0
- data/spec/dummy/config/initializers/assets.rb +11 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/dummy/config/initializers/inflections.rb +16 -0
- data/spec/dummy/config/initializers/mime_types.rb +4 -0
- data/spec/dummy/config/initializers/session_store.rb +3 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +23 -0
- data/spec/dummy/config/routes.rb +4 -0
- data/spec/dummy/config/secrets.yml +22 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/schema.rb +91 -0
- data/spec/dummy/log/development.log +264 -0
- data/spec/dummy/log/test.log +1192 -0
- data/spec/dummy/public/404.html +67 -0
- data/spec/dummy/public/422.html +67 -0
- data/spec/dummy/public/500.html +66 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/factories/meta_notification/notification_settings.rb +28 -0
- data/spec/factories/meta_notification/notification_templates.rb +59 -0
- data/spec/factories/meta_notification/notification_types.rb +35 -0
- data/spec/factories/meta_notification/notifications.rb +80 -0
- data/spec/factories/meta_notification/user_notification_settings.rb +34 -0
- data/spec/factories/meta_notification/user_notifications.rb +35 -0
- data/spec/models/meta_notification/notification_setting_spec.rb +31 -0
- data/spec/models/meta_notification/notification_spec.rb +39 -0
- data/spec/models/meta_notification/notification_template_spec.rb +37 -0
- data/spec/models/meta_notification/notification_type_spec.rb +36 -0
- data/spec/models/meta_notification/user_notification_setting_spec.rb +31 -0
- data/spec/models/meta_notification/user_notification_spec.rb +28 -0
- data/spec/rails_helper.rb +60 -0
- data/spec/spec_helper.rb +92 -0
- data/spec/views/meta_notification/api/v1/notification_settings/create.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_settings/destroy.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_settings/index.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_settings/show.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_settings/update.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_templates/create.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_templates/destroy.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_templates/index.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_templates/show.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_templates/update.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_types/create.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_types/destroy.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_types/index.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_types/show.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/notification_types/update.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notification_settings/create.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notification_settings/destroy.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notification_settings/index.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notification_settings/show.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notification_settings/update.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notifications/create.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notifications/destroy.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notifications/index.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notifications/show.html.erb_spec.rb +5 -0
- data/spec/views/meta_notification/api/v1/user_notifications/update.html.erb_spec.rb +5 -0
- metadata +355 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<style>
|
|
7
|
+
body {
|
|
8
|
+
background-color: #EFEFEF;
|
|
9
|
+
color: #2E2F30;
|
|
10
|
+
text-align: center;
|
|
11
|
+
font-family: arial, sans-serif;
|
|
12
|
+
margin: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
div.dialog {
|
|
16
|
+
width: 95%;
|
|
17
|
+
max-width: 33em;
|
|
18
|
+
margin: 4em auto 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
div.dialog > div {
|
|
22
|
+
border: 1px solid #CCC;
|
|
23
|
+
border-right-color: #999;
|
|
24
|
+
border-left-color: #999;
|
|
25
|
+
border-bottom-color: #BBB;
|
|
26
|
+
border-top: #B00100 solid 4px;
|
|
27
|
+
border-top-left-radius: 9px;
|
|
28
|
+
border-top-right-radius: 9px;
|
|
29
|
+
background-color: white;
|
|
30
|
+
padding: 7px 12% 0;
|
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
h1 {
|
|
35
|
+
font-size: 100%;
|
|
36
|
+
color: #730E15;
|
|
37
|
+
line-height: 1.5em;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
div.dialog > p {
|
|
41
|
+
margin: 0 0 1em;
|
|
42
|
+
padding: 1em;
|
|
43
|
+
background-color: #F7F7F7;
|
|
44
|
+
border: 1px solid #CCC;
|
|
45
|
+
border-right-color: #999;
|
|
46
|
+
border-left-color: #999;
|
|
47
|
+
border-bottom-color: #999;
|
|
48
|
+
border-bottom-left-radius: 4px;
|
|
49
|
+
border-bottom-right-radius: 4px;
|
|
50
|
+
border-top-color: #DADADA;
|
|
51
|
+
color: #666;
|
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
55
|
+
</head>
|
|
56
|
+
|
|
57
|
+
<body>
|
|
58
|
+
<!-- This file lives in public/404.html -->
|
|
59
|
+
<div class="dialog">
|
|
60
|
+
<div>
|
|
61
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
|
62
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
|
63
|
+
</div>
|
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
|
65
|
+
</div>
|
|
66
|
+
</body>
|
|
67
|
+
</html>
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>The change you wanted was rejected (422)</title>
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<style>
|
|
7
|
+
body {
|
|
8
|
+
background-color: #EFEFEF;
|
|
9
|
+
color: #2E2F30;
|
|
10
|
+
text-align: center;
|
|
11
|
+
font-family: arial, sans-serif;
|
|
12
|
+
margin: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
div.dialog {
|
|
16
|
+
width: 95%;
|
|
17
|
+
max-width: 33em;
|
|
18
|
+
margin: 4em auto 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
div.dialog > div {
|
|
22
|
+
border: 1px solid #CCC;
|
|
23
|
+
border-right-color: #999;
|
|
24
|
+
border-left-color: #999;
|
|
25
|
+
border-bottom-color: #BBB;
|
|
26
|
+
border-top: #B00100 solid 4px;
|
|
27
|
+
border-top-left-radius: 9px;
|
|
28
|
+
border-top-right-radius: 9px;
|
|
29
|
+
background-color: white;
|
|
30
|
+
padding: 7px 12% 0;
|
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
h1 {
|
|
35
|
+
font-size: 100%;
|
|
36
|
+
color: #730E15;
|
|
37
|
+
line-height: 1.5em;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
div.dialog > p {
|
|
41
|
+
margin: 0 0 1em;
|
|
42
|
+
padding: 1em;
|
|
43
|
+
background-color: #F7F7F7;
|
|
44
|
+
border: 1px solid #CCC;
|
|
45
|
+
border-right-color: #999;
|
|
46
|
+
border-left-color: #999;
|
|
47
|
+
border-bottom-color: #999;
|
|
48
|
+
border-bottom-left-radius: 4px;
|
|
49
|
+
border-bottom-right-radius: 4px;
|
|
50
|
+
border-top-color: #DADADA;
|
|
51
|
+
color: #666;
|
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
55
|
+
</head>
|
|
56
|
+
|
|
57
|
+
<body>
|
|
58
|
+
<!-- This file lives in public/422.html -->
|
|
59
|
+
<div class="dialog">
|
|
60
|
+
<div>
|
|
61
|
+
<h1>The change you wanted was rejected.</h1>
|
|
62
|
+
<p>Maybe you tried to change something you didn't have access to.</p>
|
|
63
|
+
</div>
|
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
|
65
|
+
</div>
|
|
66
|
+
</body>
|
|
67
|
+
</html>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>We're sorry, but something went wrong (500)</title>
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<style>
|
|
7
|
+
body {
|
|
8
|
+
background-color: #EFEFEF;
|
|
9
|
+
color: #2E2F30;
|
|
10
|
+
text-align: center;
|
|
11
|
+
font-family: arial, sans-serif;
|
|
12
|
+
margin: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
div.dialog {
|
|
16
|
+
width: 95%;
|
|
17
|
+
max-width: 33em;
|
|
18
|
+
margin: 4em auto 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
div.dialog > div {
|
|
22
|
+
border: 1px solid #CCC;
|
|
23
|
+
border-right-color: #999;
|
|
24
|
+
border-left-color: #999;
|
|
25
|
+
border-bottom-color: #BBB;
|
|
26
|
+
border-top: #B00100 solid 4px;
|
|
27
|
+
border-top-left-radius: 9px;
|
|
28
|
+
border-top-right-radius: 9px;
|
|
29
|
+
background-color: white;
|
|
30
|
+
padding: 7px 12% 0;
|
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
h1 {
|
|
35
|
+
font-size: 100%;
|
|
36
|
+
color: #730E15;
|
|
37
|
+
line-height: 1.5em;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
div.dialog > p {
|
|
41
|
+
margin: 0 0 1em;
|
|
42
|
+
padding: 1em;
|
|
43
|
+
background-color: #F7F7F7;
|
|
44
|
+
border: 1px solid #CCC;
|
|
45
|
+
border-right-color: #999;
|
|
46
|
+
border-left-color: #999;
|
|
47
|
+
border-bottom-color: #999;
|
|
48
|
+
border-bottom-left-radius: 4px;
|
|
49
|
+
border-bottom-right-radius: 4px;
|
|
50
|
+
border-top-color: #DADADA;
|
|
51
|
+
color: #666;
|
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
|
53
|
+
}
|
|
54
|
+
</style>
|
|
55
|
+
</head>
|
|
56
|
+
|
|
57
|
+
<body>
|
|
58
|
+
<!-- This file lives in public/500.html -->
|
|
59
|
+
<div class="dialog">
|
|
60
|
+
<div>
|
|
61
|
+
<h1>We're sorry, but something went wrong.</h1>
|
|
62
|
+
</div>
|
|
63
|
+
<p>If you are the application owner check the logs for more information.</p>
|
|
64
|
+
</div>
|
|
65
|
+
</body>
|
|
66
|
+
</html>
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require 'pp'
|
|
2
|
+
invalid_notification_setting_list = [
|
|
3
|
+
{
|
|
4
|
+
# notification_type_id: 1,
|
|
5
|
+
is_mute: true
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
notification_type_id: 1
|
|
9
|
+
# is_mute: true
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
FactoryGirl.define do
|
|
14
|
+
factory :valid_notification_setting, class: 'MetaNotification::NotificationSetting' do
|
|
15
|
+
# pp 'valid_notification_setting'
|
|
16
|
+
notification_type { FactoryGirl.create(:valid_notification_type_0) } # list[:notification_type_id]
|
|
17
|
+
is_mute { Faker::Boolean.boolean(0.5) }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
invalid_notification_setting_list.each_with_index do |list, index|
|
|
21
|
+
invalid_method_name = 'invalid_notification_setting' + "_#{index}"
|
|
22
|
+
# pp invalid_method_name
|
|
23
|
+
factory invalid_method_name.to_sym, class: 'MetaNotification::NotificationSetting' do
|
|
24
|
+
notification_type_id list[:notification_type_id]
|
|
25
|
+
is_mute list[:is_mute]
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
require 'faker'
|
|
2
|
+
|
|
3
|
+
invalid_notification_template_list=[
|
|
4
|
+
{
|
|
5
|
+
notification_type: "blank",
|
|
6
|
+
in_app: Faker::Lorem.word,
|
|
7
|
+
mobile: Faker::Lorem.word,
|
|
8
|
+
push: Faker::Lorem.word,
|
|
9
|
+
email: Faker::Lorem.paragraph(5),
|
|
10
|
+
sms: Faker::Lorem.words(10).join(" "),
|
|
11
|
+
email_subject: Faker::Lorem.words(5).join(" "),
|
|
12
|
+
resource_id: Faker::Number.between(1, 10),
|
|
13
|
+
resource_type: Faker::Lorem.word
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
# in_app: Faker::Lorem.word,
|
|
17
|
+
# mobile: Faker::Lorem.word,
|
|
18
|
+
# push: Faker::Lorem.word,
|
|
19
|
+
# email: Faker::Lorem.paragraph(5),
|
|
20
|
+
# sms: Faker::Lorem.words(10).join(" "),
|
|
21
|
+
email_subject: Faker::Lorem.words(5).join(" "),
|
|
22
|
+
resource_id: Faker::Number.between(1, 10),
|
|
23
|
+
resource_type: Faker::Lorem.word
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
FactoryGirl.define do
|
|
27
|
+
factory :valid_notification_template, class: 'MetaNotification::NotificationTemplate' do
|
|
28
|
+
# pp "valid_notification_template"
|
|
29
|
+
notification_type {FactoryGirl.create(:valid_notification_type_0)}
|
|
30
|
+
in_app {Faker::Lorem.word}
|
|
31
|
+
mobile {Faker::Lorem.word}
|
|
32
|
+
push {Faker::Lorem.word}
|
|
33
|
+
email {Faker::Lorem.paragraph(5)}
|
|
34
|
+
sms {Faker::Lorem.words(10).join(" ")}
|
|
35
|
+
email_subject {Faker::Lorem.words(5).join(" ")}
|
|
36
|
+
resource_id {Faker::Number.between(1, 10)}
|
|
37
|
+
resource_type {Faker::Lorem.word}
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
invalid_notification_template_list.each_with_index do |list, index|
|
|
42
|
+
invalid_method_name = 'invalid_notification_template' + "_#{index}"
|
|
43
|
+
factory invalid_method_name.to_sym, class: 'MetaNotification::NotificationTemplate' do
|
|
44
|
+
if list[:notification_type]=="blank"
|
|
45
|
+
notification_type nil
|
|
46
|
+
else
|
|
47
|
+
notification_type {FactoryGirl.create(:valid_notification_type_0)}
|
|
48
|
+
end
|
|
49
|
+
in_app list[:in_app]
|
|
50
|
+
mobile list[:mobile]
|
|
51
|
+
push list[:push]
|
|
52
|
+
email list[:email]
|
|
53
|
+
sms list[:sms]
|
|
54
|
+
email_subject list[:email_subject]
|
|
55
|
+
resource_id list[:resource_id]
|
|
56
|
+
resource_type list[:resource_type]
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
name_display_name_valid_hash_list = {
|
|
3
|
+
'drive_create' => 'Drive Create', 'drive_update' => 'Drive Update', 'student_move' => 'Student Move',
|
|
4
|
+
'recruiter_add' => 'Recruiter Add', 'coordinator_add' => 'Coordinator Add', 'message' => 'message',
|
|
5
|
+
'connection_request' => 'Connection Request', 'welcome_notification' => 'Welcome Notification',
|
|
6
|
+
'd_c' => 'Drive create', '_test' => 'test', 'test_' => 'test', '0test' => 'test', 'test0' => 'test', '123' => 'test'
|
|
7
|
+
}
|
|
8
|
+
name_display_name_invalid_hash_list = {
|
|
9
|
+
'' => 'test', 'dc' => 'Drive Create', 'd@c' => 'Drive Create', '@dc' => 'Drive Create', 'd#c' => 'Drive Create',
|
|
10
|
+
'test' => Faker::Lorem.paragraph(90)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
FactoryGirl.define do
|
|
14
|
+
name_display_name_valid_hash_list.each_with_index do |(key, value), index|
|
|
15
|
+
valid_method_name = 'valid_notification_type' + "_#{index}"
|
|
16
|
+
# pp valid_method_name
|
|
17
|
+
factory valid_method_name.to_sym, class: MetaNotification::NotificationType do
|
|
18
|
+
name key
|
|
19
|
+
display_name value
|
|
20
|
+
created_by_id 1
|
|
21
|
+
updated_by_id 1
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
name_display_name_invalid_hash_list.each_with_index do |(key, value), index|
|
|
26
|
+
invalid_method_name = 'invalid_notification_type' + "_#{index}"
|
|
27
|
+
# pp invalid_method_name
|
|
28
|
+
factory invalid_method_name.to_sym, class: MetaNotification::NotificationType do
|
|
29
|
+
name key
|
|
30
|
+
display_name value
|
|
31
|
+
created_by_id 1
|
|
32
|
+
updated_by_id 1
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
|
|
2
|
+
notification_list_for_null_validation=[{
|
|
3
|
+
notification_template_id:1,
|
|
4
|
+
in_app: "test",
|
|
5
|
+
mobile: "test",
|
|
6
|
+
# resource_type: "test",
|
|
7
|
+
resource_id: 1,
|
|
8
|
+
created_by_id: 1
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
notification_template_id:1,
|
|
12
|
+
in_app: "test",
|
|
13
|
+
mobile: "test",
|
|
14
|
+
resource_type: "test",
|
|
15
|
+
# resource_id: 1,
|
|
16
|
+
created_by_id: 1
|
|
17
|
+
},
|
|
18
|
+
]
|
|
19
|
+
invalid_list=[{
|
|
20
|
+
# notification_template_id:nil,
|
|
21
|
+
in_app: "test",
|
|
22
|
+
mobile: "test",
|
|
23
|
+
resource_type: "test",
|
|
24
|
+
resource_id: 1,
|
|
25
|
+
created_by_id: 1
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
notification_template_id:1,
|
|
29
|
+
# in_app: nil,
|
|
30
|
+
mobile: "test",
|
|
31
|
+
resource_type: "test",
|
|
32
|
+
resource_id: 1,
|
|
33
|
+
created_by_id: 1
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
notification_template_id:1,
|
|
37
|
+
in_app: "test",
|
|
38
|
+
# mobile: "test",
|
|
39
|
+
resource_type: "test",
|
|
40
|
+
resource_id: 1,
|
|
41
|
+
created_by_id: 1
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
|
|
45
|
+
FactoryGirl.define do
|
|
46
|
+
factory :valid_notification, class: 'MetaNotification::Notification' do
|
|
47
|
+
notification_template_id {Faker::Number.between(1, 10)}
|
|
48
|
+
in_app {Faker::Lorem.words(15).join(" ")}
|
|
49
|
+
mobile {Faker::Lorem.words(10).join(" ")}
|
|
50
|
+
resource_type {Faker::Lorem.word}
|
|
51
|
+
resource_id {Faker::Number.between(1, 10)}
|
|
52
|
+
created_by_id {Faker::Number.between(1, 10)}
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
notification_list_for_null_validation.each_with_index do|list,index|
|
|
56
|
+
valid_method_name="null_validation_notification"+"_#{index}"
|
|
57
|
+
# pp valid_method_name
|
|
58
|
+
factory valid_method_name.to_sym, class: 'MetaNotification::Notification' do
|
|
59
|
+
notification_template_id list[:notification_template_id]
|
|
60
|
+
in_app list[:in_app]
|
|
61
|
+
mobile list[:mobile]
|
|
62
|
+
resource_type list[:resource_type]
|
|
63
|
+
resource_id list[:resource_id]
|
|
64
|
+
created_by_id list[:created_by_id]
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
invalid_list.each_with_index do|list,index|
|
|
69
|
+
invalid_method_name="invalid_notification"+"_#{index}"
|
|
70
|
+
# pp invalid_method_name
|
|
71
|
+
factory invalid_method_name.to_sym, class: 'MetaNotification::Notification' do
|
|
72
|
+
notification_template_id list[:notification_template_id]
|
|
73
|
+
in_app list[:in_app]
|
|
74
|
+
mobile list[:mobile]
|
|
75
|
+
resource_type list[:resource_type]
|
|
76
|
+
resource_id list[:resource_id]
|
|
77
|
+
created_by_id list[:created_by_id]
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
invalid_user_notification_settings_list = [
|
|
2
|
+
{
|
|
3
|
+
# user_id: 1,
|
|
4
|
+
notification_type_id: 1,
|
|
5
|
+
is_mute: true
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
user_id: 1,
|
|
9
|
+
# notification_type_id: 1,
|
|
10
|
+
is_mute: true
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
user_id: 1,
|
|
14
|
+
notification_type_id: 1,
|
|
15
|
+
# is_mute: true
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
FactoryGirl.define do
|
|
19
|
+
factory :valid_user_notification_settings, class: 'MetaNotification::UserNotificationSetting' do
|
|
20
|
+
user_id { Faker::Number.between(1, 10) }
|
|
21
|
+
notification_type { FactoryGirl.create(:valid_notification_type_0) }
|
|
22
|
+
is_mute {Faker::Boolean.boolean(0.5)}
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
invalid_user_notification_settings_list.each_with_index do |list, index|
|
|
26
|
+
method_name = 'invalid_user_notification_setting' + "_#{index}"
|
|
27
|
+
# pp method_name
|
|
28
|
+
factory method_name.to_sym, class: 'MetaNotification::UserNotificationSetting' do
|
|
29
|
+
user_id list[:user_id]
|
|
30
|
+
notification_type_id list[:notification_type_id]
|
|
31
|
+
is_mute list[:is_mute]
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
invalid_user_notification_list = [
|
|
2
|
+
{
|
|
3
|
+
# user_id: 1,
|
|
4
|
+
notification_id: 1,
|
|
5
|
+
is_read: false
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
user_id: 1,
|
|
9
|
+
# notification_id: 1,
|
|
10
|
+
is_read: true
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
user_id: 1,
|
|
14
|
+
notification_id: 1,
|
|
15
|
+
# is_read: nil
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
FactoryGirl.define do
|
|
20
|
+
factory :valid_user_notification, class: 'MetaNotification::UserNotification' do
|
|
21
|
+
user_id { Faker::Number.between(1, 10) }
|
|
22
|
+
notification_id { Faker::Number.between(1, 10) }
|
|
23
|
+
is_read { Faker::Boolean.boolean(0.5) }
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
invalid_user_notification_list.each_with_index do |list, index|
|
|
27
|
+
invalid_method_name = 'invalid_user_notification' + "_#{index}"
|
|
28
|
+
# pp invalid_method_name
|
|
29
|
+
factory invalid_method_name.to_sym, class: 'MetaNotification::UserNotification' do
|
|
30
|
+
user_id list[:user_id]
|
|
31
|
+
notification_id list[:notification_id]
|
|
32
|
+
is_read list[:is_read]
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'rails_helper'
|
|
2
|
+
|
|
3
|
+
module MetaNotification
|
|
4
|
+
RSpec.describe NotificationSetting, type: :model do
|
|
5
|
+
10.times do
|
|
6
|
+
it "check valid notification setting" do
|
|
7
|
+
notification = FactoryGirl.build(:valid_notification_setting)
|
|
8
|
+
pp notification
|
|
9
|
+
expect(notification).to be_valid
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
2.times do|index|
|
|
14
|
+
it "check invalid notification setting" do
|
|
15
|
+
method_name="invalid_notification_setting"+"_#{index}"
|
|
16
|
+
notification = FactoryGirl.build(method_name)
|
|
17
|
+
pp notification
|
|
18
|
+
expect(notification).not_to be_valid
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
10.times do
|
|
23
|
+
it "create valid notification setting" do
|
|
24
|
+
notification = FactoryGirl.create(:valid_notification_setting)
|
|
25
|
+
pp notification
|
|
26
|
+
expect(notification).to be_valid
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
require 'rails_helper'
|
|
2
|
+
|
|
3
|
+
module MetaNotification
|
|
4
|
+
RSpec.describe Notification, type: :model do
|
|
5
|
+
2.times do
|
|
6
|
+
it 'check valid notification' do
|
|
7
|
+
notification = FactoryGirl.build(:valid_notification)
|
|
8
|
+
pp notification
|
|
9
|
+
expect(notification).to be_valid
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
2.times do |index|
|
|
14
|
+
it 'check null validation for notification' do
|
|
15
|
+
method_name = 'null_validation_notification' + "_#{index}"
|
|
16
|
+
notification = FactoryGirl.build(method_name)
|
|
17
|
+
pp notification
|
|
18
|
+
expect(notification).to be_valid
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
3.times do |index|
|
|
23
|
+
it 'check invalid notification' do
|
|
24
|
+
method_name = 'invalid_notification' + "_#{index}"
|
|
25
|
+
notification = FactoryGirl.build(method_name)
|
|
26
|
+
pp notification
|
|
27
|
+
expect(notification).not_to be_valid
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
2.times do
|
|
32
|
+
it 'create valid notification type' do
|
|
33
|
+
notification = FactoryGirl.create(:valid_notification)
|
|
34
|
+
pp notification
|
|
35
|
+
expect(notification.id).not_to eql(nil)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'rails_helper'
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
module MetaNotification
|
|
5
|
+
RSpec.describe NotificationTemplate, type: :model do
|
|
6
|
+
10.times do
|
|
7
|
+
it "validation of notification template" do
|
|
8
|
+
template = FactoryGirl.build(:valid_notification_template)
|
|
9
|
+
pp template
|
|
10
|
+
expect(template).to be_valid
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
2.times do |index|
|
|
15
|
+
it "null validation of notification template" do
|
|
16
|
+
method_name = 'invalid_notification_template' + "_#{index}"
|
|
17
|
+
template = FactoryGirl.build(method_name)
|
|
18
|
+
pp template
|
|
19
|
+
expect(template).not_to be_valid
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
10.times do
|
|
24
|
+
it "create valid notification template" do
|
|
25
|
+
template = FactoryGirl.create(:valid_notification_template)
|
|
26
|
+
pp template
|
|
27
|
+
expect(template).to be_valid
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# pending "validate notification template."
|
|
32
|
+
# pending "creation of notification template."
|
|
33
|
+
# pending "update notification template."
|
|
34
|
+
# pending "delete notification template"
|
|
35
|
+
# pending "read notification template"
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require 'rails_helper'
|
|
2
|
+
|
|
3
|
+
module MetaNotification
|
|
4
|
+
RSpec.describe NotificationType, type: :model do
|
|
5
|
+
14.times do |index|
|
|
6
|
+
it 'check valid notification type' do
|
|
7
|
+
method_name = 'valid_notification_type' + "_#{index}"
|
|
8
|
+
type = FactoryGirl.build(method_name)
|
|
9
|
+
pp type
|
|
10
|
+
expect(type).to be_valid
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
6.times do |index|
|
|
15
|
+
it 'check invalid notification type' do
|
|
16
|
+
method_name = 'invalid_notification_type' + "_#{index}"
|
|
17
|
+
type = FactoryGirl.build(method_name)
|
|
18
|
+
pp type
|
|
19
|
+
expect(type).not_to be_valid
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
14.times do |index|
|
|
24
|
+
it 'create valid notification type' do
|
|
25
|
+
method_name = 'valid_notification_type' + "_#{index}"
|
|
26
|
+
type = FactoryGirl.create(method_name)
|
|
27
|
+
pp type
|
|
28
|
+
expect(type.id).not_to eql(nil)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# it "check uniqueness of name" do
|
|
33
|
+
# should validate_uniqueness_of(:name)
|
|
34
|
+
# end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'rails_helper'
|
|
2
|
+
|
|
3
|
+
module MetaNotification
|
|
4
|
+
RSpec.describe UserNotificationSetting, type: :model do
|
|
5
|
+
10.times do
|
|
6
|
+
it 'check valid user notification settings' do
|
|
7
|
+
type = FactoryGirl.build(:valid_user_notification_settings)
|
|
8
|
+
pp type
|
|
9
|
+
expect(type).to be_valid
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
3.times do |index|
|
|
14
|
+
it 'check invalid user notification settings' do
|
|
15
|
+
method_name = 'invalid_user_notification_setting' + "_#{index}"
|
|
16
|
+
pp method_name
|
|
17
|
+
type = FactoryGirl.build(method_name)
|
|
18
|
+
pp type
|
|
19
|
+
expect(type).not_to be_valid
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
10.times do
|
|
24
|
+
it 'create valid user notification settings' do
|
|
25
|
+
type = FactoryGirl.create(:valid_user_notification_settings)
|
|
26
|
+
pp type
|
|
27
|
+
expect(type).to be_valid
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require 'rails_helper'
|
|
2
|
+
|
|
3
|
+
module MetaNotification
|
|
4
|
+
RSpec.describe UserNotification, type: :model do
|
|
5
|
+
10.times do
|
|
6
|
+
it 'check valid user notification ' do
|
|
7
|
+
type = FactoryGirl.build(:valid_user_notification)
|
|
8
|
+
pp type
|
|
9
|
+
expect(type).to be_valid
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
3.times do |index|
|
|
13
|
+
it 'check invalid user notification' do
|
|
14
|
+
method_name = 'invalid_user_notification' + "_#{index}"
|
|
15
|
+
type = FactoryGirl.build(method_name)
|
|
16
|
+
pp type
|
|
17
|
+
expect(type).to be_valid
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
10.times do
|
|
21
|
+
it 'create valid user notification ' do
|
|
22
|
+
type = FactoryGirl.build(:valid_user_notification)
|
|
23
|
+
pp type
|
|
24
|
+
expect(type).to be_valid
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|