Commit 1f1c8094fe342feb851c681dcde25459b82faff0

Authored by Alex Denisov
1 parent c7cfe3d8

After commit instead of after_update

app/observers/users_project_observer.rb
1 1 class UsersProjectObserver < ActiveRecord::Observer
2   - def after_create(users_project)
3   - Notify.project_access_granted_email(users_project.id).deliver
4   - end
  2 + #def after_create(users_project)
  3 + #Notify.project_access_granted_email(users_project.id).deliver
  4 + #end
  5 +
  6 + #def after_update(users_project)
  7 + #Notify.project_access_granted_email(users_project.id).deliver
  8 + #end
5 9  
6   - def after_update(users_project)
  10 + def after_commit(users_project)
7 11 Notify.project_access_granted_email(users_project.id).deliver
8 12 end
9 13 end
... ...
spec/observers/users_project_observer_spec.rb
... ... @@ -12,7 +12,7 @@ describe UsersProjectObserver do
12 12  
13 13 describe "#after_create" do
14 14 it "should called when UsersProject created" do
15   - subject.should_receive(:after_create)
  15 + subject.should_receive(:after_commit)
16 16 UsersProject.observers.enable :users_project_observer do
17 17 Factory.create(:users_project,
18 18 project: project,
... ... @@ -21,20 +21,20 @@ describe UsersProjectObserver do
21 21 end
22 22 it "should send email to user" do
23 23 Notify.should_receive(:project_access_granted_email).with(users_project.id).and_return(double(deliver: true))
24   - subject.after_create(users_project)
  24 + subject.after_commit(users_project)
25 25 end
26 26 end
27 27  
28 28 describe "#after_update" do
29 29 it "should called when UsersProject updated" do
30   - subject.should_receive(:after_update)
  30 + subject.should_receive(:after_commit)
31 31 UsersProject.observers.enable :users_project_observer do
32 32 users_project.update_attribute(:project_access, 40)
33 33 end
34 34 end
35 35 it "should send email to user" do
36 36 Notify.should_receive(:project_access_granted_email).with(users_project.id).and_return(double(deliver: true))
37   - subject.after_update(users_project)
  37 + subject.after_commit(users_project)
38 38 end
39 39 end
40 40 end
... ...