kanbanworkflowstimelinescrumrubyroadmapproject-planningproject-managementopenprojectangularissue-trackerifcgantt-chartganttbug-trackerboardsbcf
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
4.0 KiB
115 lines
4.0 KiB
require 'spec_helper'
|
|
require_relative 'support/pages/cost_report_page'
|
|
|
|
describe 'Cost report calculations', type: :feature, js: true do
|
|
let(:project) { FactoryBot.create :project }
|
|
let(:user) { FactoryBot.create :admin }
|
|
|
|
let(:work_package) { FactoryBot.create :work_package, project: project }
|
|
let!(:hourly_rate1) { FactoryBot.create :default_hourly_rate, user: user, rate: 1.00, valid_from: 1.year.ago }
|
|
|
|
let(:report_page) { ::Pages::CostReportPage.new project }
|
|
|
|
let!(:time_entry1) do
|
|
FactoryBot.create :time_entry,
|
|
spent_on: 6.months.ago,
|
|
user: user,
|
|
work_package: work_package,
|
|
project: project,
|
|
hours: 10
|
|
end
|
|
before do
|
|
login_as(user)
|
|
visit cost_reports_path(project)
|
|
end
|
|
|
|
it 'provides grouping' do
|
|
# Then I should see "Week (Spent)" in columns
|
|
# And I should see "Work package" in rows
|
|
report_page.expect_column_element('Week (Spent)')
|
|
report_page.expect_row_element('Work package')
|
|
|
|
# When I click on "Clear"
|
|
report_page.clear
|
|
# Then I should not see "Week (Spent)" in columns
|
|
# And I should not see "Work package" in rows
|
|
report_page.expect_column_element('Week (Spent)', present: false)
|
|
report_page.expect_row_element('Work package', present: false)
|
|
|
|
# And I group rows by "User"
|
|
report_page.add_to_rows 'User'
|
|
# And I group rows by "Cost type"
|
|
report_page.add_to_rows 'Cost type'
|
|
|
|
# When I click on "Clear"
|
|
report_page.clear
|
|
|
|
# Then I should not see "Week (Spent)" in columns
|
|
# And I should not see "Work package" in rows
|
|
report_page.expect_column_element('Week (Spent)', present: false)
|
|
report_page.expect_row_element('Work package', present: false)
|
|
# And I should not see "User" in rows
|
|
# And I should not see "Cost type" in rows
|
|
report_page.expect_row_element('User', present: false)
|
|
report_page.expect_row_element('Cost type', present: false)
|
|
|
|
# When I click on "Clear"
|
|
report_page.clear
|
|
# And I group columns by "Work package"
|
|
report_page.add_to_columns 'Work package'
|
|
|
|
# Then I should see "Work package" in columns
|
|
report_page.expect_column_element('Work package')
|
|
# When I group rows by "Project"
|
|
report_page.add_to_columns 'Project'
|
|
# Then I should see "Project" in rows
|
|
report_page.expect_column_element('Project')
|
|
|
|
# When I click on "Clear"
|
|
report_page.clear
|
|
# And I group columns by "Work package"
|
|
report_page.add_to_columns 'Work package'
|
|
# And I group rows by "Project"
|
|
report_page.add_to_rows 'Project'
|
|
|
|
# Then I should see "Work package" in columns
|
|
report_page.expect_column_element('Work package')
|
|
# And I should see "Project" in rows
|
|
report_page.expect_row_element('Project')
|
|
|
|
# When I remove "Project" from rows
|
|
report_page.remove_row_element('Project')
|
|
|
|
# And I remove "Work package" from columns
|
|
report_page.remove_column_element('Work package')
|
|
|
|
# Then I should not see "Work package" in columns
|
|
report_page.expect_column_element('Work package', present: false)
|
|
# And I should not see "Project" in rows
|
|
report_page.expect_row_element('Project', present: false)
|
|
|
|
# When I click on "Clear"
|
|
report_page.clear
|
|
|
|
# And I group columns by "Project"
|
|
report_page.add_to_columns 'Project'
|
|
# And I group columns by "Work package"
|
|
report_page.add_to_columns 'Work package'
|
|
# And I group rows by "User"
|
|
report_page.add_to_rows 'User'
|
|
# And I group rows by "Cost type"
|
|
report_page.add_to_rows 'Cost type'
|
|
|
|
# And I send the query
|
|
report_page.apply
|
|
|
|
# Then I should see "Project" in columns
|
|
report_page.expect_column_element('Work package')
|
|
# And I should see "Work package" in columns
|
|
report_page.expect_column_element('Project')
|
|
# And I should see "User" in rows
|
|
report_page.expect_row_element('User')
|
|
# And I should see "Cost type" in rows
|
|
report_page.expect_row_element('Cost type')
|
|
end
|
|
end
|
|
|