diff options
Diffstat (limited to 'spec/support')
3 files changed, 27 insertions, 3 deletions
diff --git a/spec/support/rspec_order_todo.yml b/spec/support/rspec_order_todo.yml index d772a051ac8..28e5d4f3a90 100644 --- a/spec/support/rspec_order_todo.yml +++ b/spec/support/rspec_order_todo.yml @@ -7942,7 +7942,6 @@ - './spec/requests/api/graphql/mutations/work_items/create_from_task_spec.rb' - './spec/requests/api/graphql/mutations/work_items/create_spec.rb' - './spec/requests/api/graphql/mutations/work_items/delete_spec.rb' -- './spec/requests/api/graphql/mutations/work_items/delete_task_spec.rb' - './spec/requests/api/graphql/mutations/work_items/update_spec.rb' - './spec/requests/api/graphql/mutations/work_items/update_task_spec.rb' - './spec/requests/api/graphql/namespace/package_settings_spec.rb' @@ -9161,10 +9160,8 @@ - './spec/services/work_items/create_from_task_service_spec.rb' - './spec/services/work_items/create_service_spec.rb' - './spec/services/work_items/delete_service_spec.rb' -- './spec/services/work_items/delete_task_service_spec.rb' - './spec/services/work_items/parent_links/create_service_spec.rb' - './spec/services/work_items/parent_links/destroy_service_spec.rb' -- './spec/services/work_items/task_list_reference_removal_service_spec.rb' - './spec/services/work_items/task_list_reference_replacement_service_spec.rb' - './spec/services/work_items/update_service_spec.rb' - './spec/services/work_items/widgets/assignees_service/update_service_spec.rb' diff --git a/spec/support/shared_examples/models/trackable_shared_examples.rb b/spec/support/shared_examples/models/trackable_shared_examples.rb new file mode 100644 index 00000000000..649a8eb2d6c --- /dev/null +++ b/spec/support/shared_examples/models/trackable_shared_examples.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +RSpec.shared_examples 'a time trackable' do + describe '#total_time_spent' do + context 'when total time spent exceeds the allowed limit' do + let(:time_spent) { Timelog::MAX_TOTAL_TIME_SPENT + 1.second } + + it 'returns the maximum allowed total time spent' do + timelog.update_column(:time_spent, time_spent.to_i) + + expect(trackable.total_time_spent).to eq(Timelog::MAX_TOTAL_TIME_SPENT) + end + + context 'when total time spent is below 0' do + let(:time_spent) { -Timelog::MAX_TOTAL_TIME_SPENT - 1.second } + + it 'returns the minimum allowed total time spent' do + timelog.update_column(:time_spent, time_spent.to_i) + + expect(trackable.total_time_spent).to eq(-Timelog::MAX_TOTAL_TIME_SPENT) + end + end + end + end +end diff --git a/spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb b/spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb index dec15cb68b3..eddda969ba2 100644 --- a/spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb @@ -169,6 +169,8 @@ RSpec.shared_examples 'time tracking endpoints' do |issuable_name| end it "resets spent time for #{issuable_name}" do + issuable.update!(spend_time: { duration: 60, user_id: user.id }) + travel_to(2.minutes.from_now) do expect do post api("/projects/#{project.id}/#{issuable_collection_name}/#{issuable.iid}/reset_spent_time", user) |