Refactor: extract test method to create an issue and time entry for a deliverable
This commit is contained in:
@@ -15,18 +15,12 @@ class DeliverableFinancesShowTest < ActionController::IntegrationTest
|
||||
@deliverable1.save!
|
||||
@user = User.generate_user_with_permission_to_manage_budget(:project => @project)
|
||||
# 2 hours of $100 billable work
|
||||
@issue1 = Issue.generate_for_project!(@project)
|
||||
@time_entry1 = TimeEntry.generate!(:issue => @issue1,
|
||||
:project => @project,
|
||||
:activity => @billable_activity,
|
||||
:spent_on => Date.today,
|
||||
:hours => 2,
|
||||
:user => @manager)
|
||||
@rate = Rate.generate!(:project => @project,
|
||||
:user => @manager,
|
||||
:date_in_effect => Date.yesterday,
|
||||
:amount => 100)
|
||||
@deliverable1.issues << @issue1
|
||||
create_issue_with_time_for_deliverable(@deliverable1, {
|
||||
:activity => @billable_activity,
|
||||
:user => @manager,
|
||||
:hours => 2,
|
||||
:amount => 100
|
||||
})
|
||||
|
||||
@user.reload
|
||||
login_as(@user.login, 'contracts')
|
||||
|
||||
@@ -123,4 +123,26 @@ class ActiveSupport::TestCase
|
||||
assert !@non_billable_activity.billable?
|
||||
|
||||
end
|
||||
|
||||
def create_issue_with_time_for_deliverable(deliverable, options)
|
||||
project = deliverable.project
|
||||
user = options[:user]
|
||||
activity = options[:activity]
|
||||
amount = options[:amount] || 100
|
||||
hours = options[:hours] || 2
|
||||
|
||||
issue = Issue.generate_for_project!(project)
|
||||
time_entry = TimeEntry.generate!(:issue => issue,
|
||||
:project => project,
|
||||
:activity => activity,
|
||||
:spent_on => Date.today,
|
||||
:hours => hours,
|
||||
:user => user)
|
||||
rate = Rate.generate!(:project => project,
|
||||
:user => user,
|
||||
:date_in_effect => Date.yesterday,
|
||||
:amount => amount)
|
||||
deliverable.issues << issue
|
||||
issue
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user