|
35 | 35 | class BaseRemoveFromSession(unittest.TestCase): |
36 | 36 | """Base class to centralize setUp.""" |
37 | 37 |
|
38 | | - |
39 | | -class TestRemoveItemFromSessionView(unittest.TestCase): |
40 | | - """Test RemoveItemFromSessionView browser view.""" |
41 | | - |
42 | 38 | layer = IMIO_ESIGN_INTEGRATION_TESTING |
43 | 39 |
|
44 | 40 | def setUp(self): |
@@ -280,14 +276,57 @@ def test_uid_to_link(self): |
280 | 276 | def test_esign_sessions(self): |
281 | 277 | uids = [a.UID() for a in self.annexes] |
282 | 278 | add_files_to_session(self.signers, uids, title=u"[ia.parapheo] Session {sign_id}") |
| 279 | + |
| 280 | + # Add a second session with a separate folder/annex |
| 281 | + folder2 = api.content.create( |
| 282 | + container=self.portal, type="Folder", id="test_session_folder2", title="Test Session Folder 2" |
| 283 | + ) |
| 284 | + tests_dir = os.path.dirname(__file__) |
| 285 | + with open(os.path.join(tests_dir, "annex1.pdf"), "rb") as f: |
| 286 | + annex2 = api.content.create( |
| 287 | + container=folder2, |
| 288 | + type="annex", |
| 289 | + id="annex2", |
| 290 | + title=u"Annex 2", |
| 291 | + content_category=calculate_category_id(self.portal["annexes_types"]["annexes"]["to_sign"]), |
| 292 | + scan_id="01234560000002", |
| 293 | + file=NamedBlobFile(data=f.read(), filename=u"annex2.pdf", contentType="application/pdf"), |
| 294 | + ) |
| 295 | + add_files_to_session(self.signers, [annex2.UID()], title=u"[ia.parapheo] Session {sign_id}", |
| 296 | + discriminators=(u"second",)) |
| 297 | + |
283 | 298 | view = SessionAnnotationInfoView(self.folder, self.portal.REQUEST) |
284 | 299 |
|
| 300 | + # No filter params — returns all sessions |
285 | 301 | esign_sessions = view.esign_sessions |
286 | | - self.assertEqual(len(esign_sessions), 1) |
| 302 | + self.assertEqual(len(esign_sessions), 2) |
287 | 303 | esign_session = esign_sessions[0] |
288 | 304 | self.assertIsInstance(esign_session, tuple) |
289 | 305 | self.assertEqual(esign_session[0], 0) |
290 | 306 |
|
| 307 | + # Filter by session_id |
| 308 | + self.portal.REQUEST.form["session_id"] = "0" |
| 309 | + self.assertEqual(len(view.esign_sessions), 1) |
| 310 | + self.assertEqual(view.esign_sessions[0][0], 0) |
| 311 | + self.portal.REQUEST.form["session_id"] = "1" |
| 312 | + self.assertEqual(len(view.esign_sessions), 1) |
| 313 | + self.assertEqual(view.esign_sessions[0][0], 1) |
| 314 | + self.portal.REQUEST.form["session_id"] = "999" |
| 315 | + self.assertEqual(len(view.esign_sessions), 0) |
| 316 | + del self.portal.REQUEST.form["session_id"] |
| 317 | + |
| 318 | + # Filter by context_uid |
| 319 | + self.portal.REQUEST.form["context_uid"] = self.folder.UID() |
| 320 | + self.assertEqual(len(view.esign_sessions), 1) |
| 321 | + self.assertEqual(view.esign_sessions[0][0], 0) |
| 322 | + self.portal.REQUEST.form["context_uid"] = folder2.UID() |
| 323 | + self.assertEqual(len(view.esign_sessions), 1) |
| 324 | + self.assertEqual(view.esign_sessions[0][0], 1) |
| 325 | + self.portal.REQUEST.form["context_uid"] = u"a" * 32 |
| 326 | + self.assertEqual(len(view.esign_sessions), 0) |
| 327 | + del self.portal.REQUEST.form["context_uid"] |
| 328 | + |
| 329 | + # Test rendered HTML |
291 | 330 | self.assertEqual( |
292 | 331 | unescape(view.esign_session_html(esign_session[1])), |
293 | 332 | u"""{{ |
|
0 commit comments