Refactor update element consistency check
This commit is contained in:
parent
29432d5e9f
commit
09f6b83486
4 changed files with 143 additions and 6 deletions
|
@ -276,4 +276,51 @@ class RelationTest < ActiveSupport::TestCase
|
|||
relation.create_with_history(user)
|
||||
end
|
||||
end
|
||||
|
||||
test "raises id precondition exception when updating" do
|
||||
user = create(:user)
|
||||
relation = Relation.new(:id => 23)
|
||||
new_relation = Relation.new(:id => 42)
|
||||
assert_raises OSM::APIPreconditionFailedError do
|
||||
relation.update_from(new_relation, user)
|
||||
end
|
||||
end
|
||||
|
||||
test "raises version mismatch exception when updating" do
|
||||
user = create(:user)
|
||||
relation = Relation.new(:id => 42, :version => 7)
|
||||
new_relation = Relation.new(:id => 42, :version => 12)
|
||||
assert_raises OSM::APIVersionMismatchError do
|
||||
relation.update_from(new_relation, user)
|
||||
end
|
||||
end
|
||||
|
||||
test "raises missing changeset exception when updating" do
|
||||
user = create(:user)
|
||||
relation = Relation.new(:id => 42, :version => 12)
|
||||
new_relation = Relation.new(:id => 42, :version => 12)
|
||||
assert_raises OSM::APIChangesetMissingError do
|
||||
relation.update_from(new_relation, user)
|
||||
end
|
||||
end
|
||||
|
||||
test "raises user-changeset mismatch exception when updating" do
|
||||
user = create(:user)
|
||||
changeset = create(:changeset)
|
||||
relation = Relation.new(:id => 42, :version => 12)
|
||||
new_relation = Relation.new(:id => 42, :version => 12, :changeset => changeset)
|
||||
assert_raises OSM::APIUserChangesetMismatchError do
|
||||
relation.update_from(new_relation, user)
|
||||
end
|
||||
end
|
||||
|
||||
test "raises already closed changeset exception when updating" do
|
||||
user = create(:user)
|
||||
changeset = create(:changeset, :closed, :user => user)
|
||||
relation = Relation.new(:id => 42, :version => 12)
|
||||
new_relation = Relation.new(:id => 42, :version => 12, :changeset => changeset)
|
||||
assert_raises OSM::APIChangesetAlreadyClosedError do
|
||||
relation.update_from(new_relation, user)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue