@@ -388,3 +388,48 @@ def test_submitting_additional_document_new_version(self, browser):
388388 self .assertEqual (documents [0 ].file .data ,
389389 self .document .file .data )
390390 self .assertEqual ("New" , documents [0 ].file .data )
391+
392+
393+ class TestRISExcerptEndpoints (IntegrationTestCase ):
394+
395+ @browsing
396+ def test_ris_return_and_update_excerpt (self , browser ):
397+ self .login (self .regular_user , browser )
398+
399+ dossier_rel = "/" .join (self .dossier .getPhysicalPath ()[2 :])
400+
401+ browser .open (
402+ self .document .absolute_url () + "/@ris-return-excerpt" ,
403+ method = "POST" ,
404+ headers = self .api_headers ,
405+ data = json .dumps (
406+ {
407+ "target_admin_unit_id" : "plone" ,
408+ "target_dossier_relative_path" : dossier_rel ,
409+ }
410+ ),
411+ )
412+
413+ self .assertEqual (200 , browser .status_code )
414+ data = browser .json
415+ self .assertEqual (data ["current_version_id" ], 0 )
416+
417+ excerpt_doc = self .portal .unrestrictedTraverse (data ["path" ].encode ("utf-8" ))
418+
419+ self .assertEqual (excerpt_doc .file .data , self .document .file .data )
420+ self .assertTrue (excerpt_doc .is_final_document ())
421+
422+ browser .open (
423+ self .document .absolute_url () + "/@ris-update-excerpt" ,
424+ method = "POST" ,
425+ headers = self .api_headers ,
426+ data = json .dumps (
427+ {
428+ "target_admin_unit_id" : "plone" ,
429+ "target_doc_relative_path" : data ["path" ],
430+ }
431+ ),
432+ )
433+
434+ self .assertEqual (browser .json ["current_version_id" ], 1 )
435+ self .assertTrue (excerpt_doc .is_final_document ())
0 commit comments