Commit af63607a5cf245b358acd153279faa3c22c099b0
1 parent
1f1c8094
Exists in
master
and in
4 other branches
test_after_commit gem added
Showing
4 changed files
with
12 additions
and
14 deletions
Show diff stats
Gemfile
Gemfile.lock
| @@ -341,6 +341,7 @@ GEM | @@ -341,6 +341,7 @@ GEM | ||
| 341 | tilt (~> 1.1, != 1.3.0) | 341 | tilt (~> 1.1, != 1.3.0) |
| 342 | sqlite3 (1.3.6) | 342 | sqlite3 (1.3.6) |
| 343 | stamp (0.1.6) | 343 | stamp (0.1.6) |
| 344 | + test_after_commit (0.0.1) | ||
| 344 | therubyracer (0.10.1) | 345 | therubyracer (0.10.1) |
| 345 | libv8 (~> 3.3.10) | 346 | libv8 (~> 3.3.10) |
| 346 | thin (1.3.1) | 347 | thin (1.3.1) |
| @@ -431,6 +432,7 @@ DEPENDENCIES | @@ -431,6 +432,7 @@ DEPENDENCIES | ||
| 431 | six | 432 | six |
| 432 | sqlite3 | 433 | sqlite3 |
| 433 | stamp | 434 | stamp |
| 435 | + test_after_commit | ||
| 434 | therubyracer | 436 | therubyracer |
| 435 | thin | 437 | thin |
| 436 | uglifier (= 1.0.3) | 438 | uglifier (= 1.0.3) |
app/observers/users_project_observer.rb
| 1 | class UsersProjectObserver < ActiveRecord::Observer | 1 | class UsersProjectObserver < ActiveRecord::Observer |
| 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 | ||
| 9 | - | ||
| 10 | def after_commit(users_project) | 2 | def after_commit(users_project) |
| 11 | Notify.project_access_granted_email(users_project.id).deliver | 3 | Notify.project_access_granted_email(users_project.id).deliver |
| 12 | end | 4 | end |
spec/observers/users_project_observer_spec.rb
| @@ -10,9 +10,9 @@ describe UsersProjectObserver do | @@ -10,9 +10,9 @@ describe UsersProjectObserver do | ||
| 10 | user: user )} | 10 | user: user )} |
| 11 | subject { UsersProjectObserver.instance } | 11 | subject { UsersProjectObserver.instance } |
| 12 | 12 | ||
| 13 | - describe "#after_create" do | 13 | + describe "#after_commit" do |
| 14 | it "should called when UsersProject created" do | 14 | it "should called when UsersProject created" do |
| 15 | - subject.should_receive(:after_commit) | 15 | + subject.should_receive(:after_commit).once |
| 16 | UsersProject.observers.enable :users_project_observer do | 16 | UsersProject.observers.enable :users_project_observer do |
| 17 | Factory.create(:users_project, | 17 | Factory.create(:users_project, |
| 18 | project: project, | 18 | project: project, |
| @@ -23,11 +23,8 @@ describe UsersProjectObserver do | @@ -23,11 +23,8 @@ describe UsersProjectObserver do | ||
| 23 | Notify.should_receive(:project_access_granted_email).with(users_project.id).and_return(double(deliver: true)) | 23 | Notify.should_receive(:project_access_granted_email).with(users_project.id).and_return(double(deliver: true)) |
| 24 | subject.after_commit(users_project) | 24 | subject.after_commit(users_project) |
| 25 | end | 25 | end |
| 26 | - end | ||
| 27 | - | ||
| 28 | - describe "#after_update" do | ||
| 29 | it "should called when UsersProject updated" do | 26 | it "should called when UsersProject updated" do |
| 30 | - subject.should_receive(:after_commit) | 27 | + subject.should_receive(:after_commit).once |
| 31 | UsersProject.observers.enable :users_project_observer do | 28 | UsersProject.observers.enable :users_project_observer do |
| 32 | users_project.update_attribute(:project_access, 40) | 29 | users_project.update_attribute(:project_access, 40) |
| 33 | end | 30 | end |
| @@ -36,5 +33,11 @@ describe UsersProjectObserver do | @@ -36,5 +33,11 @@ describe UsersProjectObserver do | ||
| 36 | Notify.should_receive(:project_access_granted_email).with(users_project.id).and_return(double(deliver: true)) | 33 | Notify.should_receive(:project_access_granted_email).with(users_project.id).and_return(double(deliver: true)) |
| 37 | subject.after_commit(users_project) | 34 | subject.after_commit(users_project) |
| 38 | end | 35 | end |
| 36 | + it "should not called after UsersProject destroyed" do | ||
| 37 | + subject.should_not_receive(:after_commit) | ||
| 38 | + UsersProject.observers.enable :users_project_observer do | ||
| 39 | + users_project.destroy | ||
| 40 | + end | ||
| 41 | + end | ||
| 39 | end | 42 | end |
| 40 | end | 43 | end |