@@ -51,6 +51,19 @@ class DeleteListItemsRouteADME2ESpec
5151 // Collects client test data
5252 private val clientTestDataCollector = new ClientTestDataCollector (settings)
5353
54+ // Collects client test data
55+ private def collectClientTestData (fileName : String , fileContent : String ): Unit =
56+ clientTestDataCollector.addFile(
57+ TestDataFileContent (
58+ filePath = TestDataFilePath (
59+ directoryPath = clientTestDataPath,
60+ filename = fileName,
61+ fileExtension = " json"
62+ ),
63+ text = fileContent
64+ )
65+ )
66+
5467 override lazy val rdfDataObjects = List (
5568 RdfDataObject (path = " test_data/demo_data/images-demo-data.ttl" , name = " http://www.knora.org/data/00FF/images" ),
5669 RdfDataObject (path = " test_data/all_data/anything-data.ttl" , name = " http://www.knora.org/data/0001/anything" )
@@ -125,16 +138,7 @@ class DeleteListItemsRouteADME2ESpec
125138 val firstChild = children.head
126139 firstChild.children.size should be(5 )
127140
128- clientTestDataCollector.addFile(
129- TestDataFileContent (
130- filePath = TestDataFilePath (
131- directoryPath = clientTestDataPath,
132- filename = " delete-list-node-response" ,
133- fileExtension = " json"
134- ),
135- text = responseToString(response)
136- )
137- )
141+ collectClientTestData(" delete-list-node-response" , responseToString(response))
138142 }
139143
140144 " delete the single child of a node" in {
@@ -161,22 +165,13 @@ class DeleteListItemsRouteADME2ESpec
161165 val deletedStatus = AkkaHttpUtils .httpResponseToJson(response).fields(" deleted" )
162166 deletedStatus.convertTo[Boolean ] should be(true )
163167
164- clientTestDataCollector.addFile(
165- TestDataFileContent (
166- filePath = TestDataFilePath (
167- directoryPath = clientTestDataPath,
168- filename = " delete-list-response" ,
169- fileExtension = " json"
170- ),
171- text = responseToString(response)
172- )
173- )
168+ collectClientTestData(" delete-list-response" , responseToString(response))
174169 }
175170 }
176171
177172 " Candeletelist route (/admin/lists/candelete)" when {
178173 " used to query if list can be deleted" should {
179- " return TRUE for unused list" in {
174+ " return positive response for unused list" in {
180175 val unusedList = " http://rdfh.ch/lists/0001/notUsedList"
181176 val unusedListEncoded = java.net.URLEncoder .encode(unusedList, " utf-8" )
182177 val request = Get (baseApiUrl + s " /admin/lists/candelete/ " + unusedListEncoded) ~> addCredentials(
@@ -190,9 +185,11 @@ class DeleteListItemsRouteADME2ESpec
190185 canDelete.convertTo[Boolean ] should be(true )
191186 val listIri = AkkaHttpUtils .httpResponseToJson(response).fields(" listIri" )
192187 listIri.convertTo[String ] should be(unusedList)
188+
189+ collectClientTestData(" candeletelist-response" , responseToString(response))
193190 }
194191
195- " return FALSE for used list" in {
192+ " return negative response for used list" in {
196193 val usedList = " http://rdfh.ch/lists/0001/treeList01"
197194 val usedListEncoded = java.net.URLEncoder .encode(usedList, " utf-8" )
198195 val request = Get (baseApiUrl + s " /admin/lists/candelete/ " + usedListEncoded) ~> addCredentials(
@@ -220,4 +217,40 @@ class DeleteListItemsRouteADME2ESpec
220217 }
221218 }
222219 }
220+
221+ " DeleteListNodeComments route (/admin/lists/comments)" when {
222+ " deleting comments" should {
223+ " delete child node comments" in {
224+ val childNodeIri = " http://rdfh.ch/lists/0001/testList01"
225+ val childNodeIriEncoded = java.net.URLEncoder .encode(childNodeIri, " utf-8" )
226+ val request = Delete (s " $baseApiUrl/admin/lists/comments/ $childNodeIriEncoded" ) ~> addCredentials(
227+ BasicHttpCredentials (rootCreds.email, rootCreds.password)
228+ )
229+
230+ val response : HttpResponse = singleAwaitingRequest(request)
231+ val responseStr = responseToString(response)
232+
233+ response.status should be(StatusCodes .OK )
234+ val commentsDeleted = AkkaHttpUtils .httpResponseToJson(response).fields(" commentsDeleted" )
235+ commentsDeleted.convertTo[Boolean ] should be(true )
236+ val nodeIri = AkkaHttpUtils .httpResponseToJson(response).fields(" nodeIri" )
237+ nodeIri.convertTo[String ] should be(childNodeIri)
238+
239+ collectClientTestData(" delete-list-node-comments-response" , responseStr)
240+ }
241+
242+ " return exception for root node comments" in {
243+ val childNodeIri = " http://rdfh.ch/lists/0001/testList"
244+ val childNodeIriEncoded = java.net.URLEncoder .encode(childNodeIri, " utf-8" )
245+ val request = Delete (s " $baseApiUrl/admin/lists/comments/ $childNodeIriEncoded" ) ~> addCredentials(
246+ BasicHttpCredentials (rootCreds.email, rootCreds.password)
247+ )
248+
249+ val response : HttpResponse = singleAwaitingRequest(request)
250+ val responseStr = responseToString(response)
251+
252+ response.status should be(StatusCodes .BadRequest )
253+ }
254+ }
255+ }
223256}
0 commit comments