Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-12-13 02:00:21 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-12-13 02:00:21 +0300
commita300086c5935fd69444018638b29d85b3e572c96 (patch)
tree6fbbe243ec6ad4536085b7a3cd9857dd8b02b451 /spec/support/shared_examples
parent544a05f8dd310d672417687d458e1b99c2b19760 (diff)
Add latest changes from gitlab-org/security/gitlab@16-5-stable-ee
Diffstat (limited to 'spec/support/shared_examples')
-rw-r--r--spec/support/shared_examples/models/trackable_shared_examples.rb25
-rw-r--r--spec/support/shared_examples/requests/api/time_tracking_shared_examples.rb2
2 files changed, 27 insertions, 0 deletions
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)