user_notifier 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,12 +2,46 @@ require 'spec_helper'
2
2
 
3
3
  describe UserNotifier::Base do
4
4
  let(:user){ User.create email: 'foo@bar.com' }
5
+ let(:order){ Order.create user_id: user.id, title: 'test' }
5
6
  let(:notification){ UserNotification.notify('test', user) }
6
- before{ user }
7
+ before{ order }
8
+
7
9
 
8
10
  describe "associations" do
9
- subject{ user }
10
- it{ should have_many :notifications }
11
+ context "in user model" do
12
+ subject{ user }
13
+ it{ should have_many :notifications }
14
+ end
15
+
16
+ context "in notifications model" do
17
+ subject{ notification }
18
+ it{ should belong_to :user }
19
+ end
20
+ context "in notifications model when notification source is not the user" do
21
+ let(:notification){ OrderNotification.notify('test', user, order) }
22
+ subject{ notification }
23
+ it{ should belong_to :user }
24
+ it{ should belong_to :order }
25
+ it{ should belong_to :source } # just an alias for order
26
+ end
27
+ end
28
+
29
+ describe ".notify_once" do
30
+ before{ notification }
31
+
32
+ it "should create notification in the database" do
33
+ expect(UserNotification.last).to be_present
34
+ end
35
+
36
+ it "should not create notification for same association and different template name" do
37
+ UserNotification.notify_once('another_test', user)
38
+ expect(UserNotification.count(:all)).to eq 2
39
+ end
40
+
41
+ it "should not create duplicate notification for same association and template name" do
42
+ UserNotification.notify_once('test', user)
43
+ expect(UserNotification.count(:all)).to eq 1
44
+ end
11
45
  end
12
46
 
13
47
  describe ".notify" do
@@ -49,7 +83,5 @@ describe UserNotifier::Base do
49
83
  before do
50
84
  notification.deliver!
51
85
  end
52
- subject{ notification }
53
- its(:sent_at){ should be_present }
54
86
  end
55
87
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: user_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Diogo Biazus
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-02 00:00:00.000000000 Z
11
+ date: 2014-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -102,15 +102,17 @@ extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
104
  - MIT-LICENSE
105
- - README.rdoc
106
105
  - Rakefile
107
- - app/mailers/user_notifier/base_mailer.rb
106
+ - app/mailers/user_notifier/mailer.rb
108
107
  - app/models/user_notifier/base.rb
109
108
  - app/workers/user_notifier/email_worker.rb
110
109
  - config/routes.rb
111
110
  - lib/generators/user_notifier/install/USAGE
112
111
  - lib/generators/user_notifier/install/install_generator.rb
113
112
  - lib/generators/user_notifier/install/templates/user_notifier.rb
113
+ - lib/generators/user_notifier/notification/USAGE
114
+ - lib/generators/user_notifier/notification/notification_generator.rb
115
+ - lib/generators/user_notifier/notification/templates/migration.rb
114
116
  - lib/tasks/user_notifier_tasks.rake
115
117
  - lib/user_notifier.rb
116
118
  - lib/user_notifier/configuration.rb
@@ -123,6 +125,7 @@ files:
123
125
  - spec/dummy/app/assets/stylesheets/application.css
124
126
  - spec/dummy/app/controllers/application_controller.rb
125
127
  - spec/dummy/app/helpers/application_helper.rb
128
+ - spec/dummy/app/models/order.rb
126
129
  - spec/dummy/app/models/user.rb
127
130
  - spec/dummy/app/views/layouts/application.html.erb
128
131
  - spec/dummy/bin/bundle
@@ -148,6 +151,8 @@ files:
148
151
  - spec/dummy/db/development.sqlite3
149
152
  - spec/dummy/db/migrate/20140625163719_create_users.rb
150
153
  - spec/dummy/db/migrate/20140625183616_create_user_notifications.rb
154
+ - spec/dummy/db/migrate/20140709164530_create_orders.rb
155
+ - spec/dummy/db/migrate/20140709170259_create_order_notifications.rb
151
156
  - spec/dummy/db/schema.rb
152
157
  - spec/dummy/db/test.sqlite3
153
158
  - spec/dummy/log/development.log
@@ -189,6 +194,7 @@ test_files:
189
194
  - spec/dummy/log/test.log
190
195
  - spec/dummy/log/development.log
191
196
  - spec/dummy/config.ru
197
+ - spec/dummy/app/models/order.rb
192
198
  - spec/dummy/app/models/user.rb
193
199
  - spec/dummy/app/views/layouts/application.html.erb
194
200
  - spec/dummy/app/controllers/application_controller.rb
@@ -220,7 +226,9 @@ test_files:
220
226
  - spec/dummy/bin/rake
221
227
  - spec/dummy/db/development.sqlite3
222
228
  - spec/dummy/db/schema.rb
229
+ - spec/dummy/db/migrate/20140709164530_create_orders.rb
223
230
  - spec/dummy/db/migrate/20140625183616_create_user_notifications.rb
231
+ - spec/dummy/db/migrate/20140709170259_create_order_notifications.rb
224
232
  - spec/dummy/db/migrate/20140625163719_create_users.rb
225
233
  - spec/dummy/db/test.sqlite3
226
234
  - spec/dummy/Rakefile
data/README.rdoc DELETED
@@ -1,3 +0,0 @@
1
- = UserNotifier
2
-
3
- This project rocks and uses MIT-LICENSE.