summaryrefslogtreecommitdiff
path: root/spec/models/concerns/relative_positioning_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/concerns/relative_positioning_spec.rb')
-rw-r--r--spec/models/concerns/relative_positioning_spec.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/models/concerns/relative_positioning_spec.rb b/spec/models/concerns/relative_positioning_spec.rb
index 69906382545..12f44bfe0a5 100644
--- a/spec/models/concerns/relative_positioning_spec.rb
+++ b/spec/models/concerns/relative_positioning_spec.rb
@@ -100,5 +100,32 @@ describe Issue, 'RelativePositioning' do
expect(new_issue.relative_position).to be > issue.relative_position
expect(issue.relative_position).to be < issue1.relative_position
end
+
+ it 'positions issues between other two if distance is 1' do
+ issue1.update relative_position: issue.relative_position + 1
+
+ new_issue.move_between(issue, issue1)
+
+ expect(new_issue.relative_position).to be > issue.relative_position
+ expect(issue.relative_position).to be < issue1.relative_position
+ end
+
+ it 'positions issue closer to before-issue if distance is big enough' do
+ issue.update relative_position: 100
+ issue1.update relative_position: 6000
+
+ new_issue.move_between(issue, issue1)
+
+ expect(new_issue.relative_position).to eq(100 + RelativePositioning::DISTANCE)
+ end
+
+ it 'positions issue in the middle of other two if distance is not big enough' do
+ issue.update relative_position: 100
+ issue1.update relative_position: 400
+
+ new_issue.move_between(issue, issue1)
+
+ expect(new_issue.relative_position).to eq(250)
+ end
end
end