Skip to content
Snippets Groups Projects

Call PartialUpdateElement but correct payload

Merged Yoann Schneider requested to merge call-update-element into master
All threads resolved!
1 file
+ 127
1
Compare changes
  • Side-by-side
  • Inline
@@ -1222,10 +1222,63 @@ def test_create_elements_integrity_error(
{"element": "not element type"},
"element shouldn't be null and should be an Element or CachedElement",
),
))
def test_partial_update_element_wrong_param_element(mock_elements_worker, payload, error):
api_payload = {
"element": Element({"zone": None}),
**payload,
}
with pytest.raises(AssertionError) as e:
mock_elements_worker.partial_update_element(
**api_payload,
)
assert str(e.value) == error
@pytest.mark.parametrize(
"payload, error",
(
# Type
({"type": 1234}, "type should be a str"),
),
)
def test_partial_update_element_wrong_param_type(mock_elements_worker, payload, error):
api_payload = {
"element": Element({"zone": None}),
**payload,
}
with pytest.raises(AssertionError) as e:
mock_elements_worker.partial_update_element(
**api_payload,
)
assert str(e.value) == error
@pytest.mark.parametrize(
"payload, error",
(
# Name
({"name": 1234}, "name should be a str"),
)
)
def test_partial_update_element_wrong_param_name(mock_elements_worker, payload, error):
api_payload = {
"element": Element({"zone": None}),
**payload,
}
with pytest.raises(AssertionError) as e:
mock_elements_worker.partial_update_element(
**api_payload,
)
assert str(e.value) == error
@pytest.mark.parametrize(
"payload, error",
(
# Polygon
({"polygon": "not a polygon"}, "polygon should be a list"),
({"polygon": [[1, 1], [2, 2]]}, "polygon should have at least three points"),
@@ -1241,6 +1294,24 @@ def test_create_elements_integrity_error(
{"polygon": [["not a coord", 1], [2, 2], [2, 1], [1, 2]]},
"polygon points should be lists of two numbers",
),
)
)
def test_partial_update_element_wrong_param_polygon(mock_elements_worker, payload, error):
api_payload = {
"element": Element({"zone": None}),
**payload,
}
with pytest.raises(AssertionError) as e:
mock_elements_worker.partial_update_element(
**api_payload,
)
assert str(e.value) == error
@pytest.mark.parametrize(
"payload, error",
(
# Confidence
({"confidence": "lol"}, "confidence should be None or a float in [0..1] range"),
({"confidence": "0.2"}, "confidence should be None or a float in [0..1] range"),
@@ -1250,19 +1321,74 @@ def test_create_elements_integrity_error(
{"confidence": float("inf")},
"confidence should be None or a float in [0..1] range",
),
)
)
def test_partial_update_element_wrong_param_conf(mock_elements_worker, payload, error):
api_payload = {
"element": Element({"zone": None}),
**payload,
}
with pytest.raises(AssertionError) as e:
mock_elements_worker.partial_update_element(
**api_payload,
)
assert str(e.value) == error
@pytest.mark.parametrize(
"payload, error",
(
# Rotation angle
({"rotation_angle": "lol"}, "rotation_angle should be a positive integer"),
({"rotation_angle": -1}, "rotation_angle should be a positive integer"),
({"rotation_angle": 0.5}, "rotation_angle should be a positive integer"),
)
)
def test_partial_update_element_wrong_param_rota(mock_elements_worker, payload, error):
api_payload = {
"element": Element({"zone": None}),
**payload,
}
with pytest.raises(AssertionError) as e:
mock_elements_worker.partial_update_element(
**api_payload,
)
assert str(e.value) == error
@pytest.mark.parametrize(
"payload, error",
(
# Mirrored
({"mirrored": "lol"}, "mirrored should be a boolean"),
({"mirrored": 1234}, "mirrored should be a boolean"),
)
)
def test_partial_update_element_wrong_param_mir(mock_elements_worker, payload, error):
api_payload = {
"element": Element({"zone": None}),
**payload,
}
with pytest.raises(AssertionError) as e:
mock_elements_worker.partial_update_element(
**api_payload,
)
assert str(e.value) == error
@pytest.mark.parametrize(
"payload, error",
(
# Image
({"image": "lol"}, "image should be a UUID"),
({"image": 1234}, "image should be a UUID"),
),
)
def test_partial_update_element_wrong_param(mock_elements_worker, payload, error):
def test_partial_update_element_wrong_param_image(mock_elements_worker, payload, error):
api_payload = {
"element": Element({"zone": None}),
**payload,
Loading