OSDN Git Service

Send project transfer email to all members. Added specs for project move email
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Sat, 22 Jun 2013 07:56:51 +0000 (10:56 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Sat, 22 Jun 2013 07:56:51 +0000 (10:56 +0300)
app/mailers/emails/projects.rb
app/models/project.rb
spec/mailers/notify_spec.rb

index dcd894b..1ad7ca5 100644 (file)
@@ -8,10 +8,10 @@ module Emails
     end
 
 
-    def project_was_moved_email(user_project_id)
-      @users_project = UsersProject.find user_project_id
-      @project = @users_project.project
-      mail(to: @users_project.user.email,
+    def project_was_moved_email(project_id, user_id)
+      @user = User.find user_id
+      @project = Project.find project_id
+      mail(to: @user.email,
            subject: subject("project was moved"))
     end
   end
index f36385c..c1405a7 100644 (file)
@@ -246,8 +246,8 @@ class Project < ActiveRecord::Base
   end
 
   def send_move_instructions
-    self.users_projects.each do |member|
-      Notify.delay.project_was_moved_email(member.id)
+    team.members.each do |user|
+      Notify.delay.project_was_moved_email(self.id, user.id)
     end
   end
 
index d2e1e8a..7290e2b 100644 (file)
@@ -218,6 +218,24 @@ describe Notify do
       end
     end
 
+    describe 'project was moved' do
+      let(:project) { create(:project) }
+      let(:user) { create(:user) }
+      subject { Notify.project_was_moved_email(project.id, user.id) }
+
+      it 'has the correct subject' do
+        should have_subject /project was moved/
+      end
+
+      it 'contains name of project' do
+        should have_body_text /#{project.name_with_namespace}/
+      end
+
+      it 'contains new user role' do
+        should have_body_text /#{project.ssh_url_to_repo}/
+      end
+    end
+
     describe 'project access changed' do
       let(:project) { create(:project) }
       let(:user) { create(:user) }