|
1 | 1 | import pytest |
2 | 2 |
|
3 | 3 | from specklepy.api.client import SpeckleClient |
4 | | -from specklepy.core.api.inputs.model_inputs import CreateModelInput |
| 4 | +from specklepy.core.api.inputs.model_inputs import CreateModelInput, ModelVersionsFilter |
5 | 5 | from specklepy.core.api.inputs.project_inputs import ProjectCreateInput |
6 | 6 | from specklepy.core.api.inputs.version_inputs import ( |
7 | 7 | DeleteVersionsInput, |
@@ -76,6 +76,26 @@ def test_versions_get( |
76 | 76 | assert result.totalCount == 1 |
77 | 77 | assert result.items[0].id == test_version.id |
78 | 78 |
|
| 79 | + def test_versions_get_with_filter( |
| 80 | + self, |
| 81 | + client: SpeckleClient, |
| 82 | + test_model_1: Model, |
| 83 | + test_project: Project, |
| 84 | + test_version: Version, |
| 85 | + ): |
| 86 | + filter = ModelVersionsFilter( |
| 87 | + priorityIds=[test_version.id], priorityIdsOnly=True |
| 88 | + ) |
| 89 | + |
| 90 | + result = client.version.get_versions( |
| 91 | + test_model_1.id, test_project.id, filter=filter |
| 92 | + ) |
| 93 | + |
| 94 | + assert isinstance(result, ResourceCollection) |
| 95 | + assert len(result.items) == 1 |
| 96 | + assert result.totalCount == 1 |
| 97 | + assert result.items[0].id == test_version.id |
| 98 | + |
79 | 99 | def test_version_received( |
80 | 100 | self, client: SpeckleClient, test_version: Version, test_project: Project |
81 | 101 | ): |
@@ -103,6 +123,27 @@ def test_model_get_with_versions( |
103 | 123 | assert result.versions.totalCount == 1 |
104 | 124 | assert result.versions.items[0].id == test_version.id |
105 | 125 |
|
| 126 | + def test_model_get_with_versions_with_filter( |
| 127 | + self, |
| 128 | + client: SpeckleClient, |
| 129 | + test_model_1: Model, |
| 130 | + test_project: Project, |
| 131 | + test_version: Version, |
| 132 | + ): |
| 133 | + filter = ModelVersionsFilter( |
| 134 | + priorityIds=[test_version.id], priorityIdsOnly=True |
| 135 | + ) |
| 136 | + |
| 137 | + result = client.model.get_with_versions( |
| 138 | + test_model_1.id, test_project.id, versions_filter=filter |
| 139 | + ) |
| 140 | + |
| 141 | + assert isinstance(result, ModelWithVersions) |
| 142 | + assert len(result.versions.items) == 1 |
| 143 | + assert result.versions.totalCount == 1 |
| 144 | + assert isinstance(result.versions, ResourceCollection) |
| 145 | + assert result.versions.items[0].id == test_version.id |
| 146 | + |
106 | 147 | def test_version_update( |
107 | 148 | self, client: SpeckleClient, test_version: Version, test_project: Project |
108 | 149 | ): |
|
0 commit comments