|
17 | 17 | import unittest |
18 | 18 |
|
19 | 19 |
|
20 | | -class TestRemoveItemFromSessionView(unittest.TestCase): |
21 | | - """Test RemoveItemFromSessionView browser view.""" |
| 20 | +class BaseRemoveFromSession(unittest.TestCase): |
| 21 | + """Base class to centralize setUp.""" |
22 | 22 |
|
23 | 23 | layer = IMIO_ESIGN_INTEGRATION_TESTING |
24 | 24 |
|
@@ -73,6 +73,10 @@ def setUp(self): |
73 | 73 | self.annexes.append(annex) |
74 | 74 | self.signers = [("user1", "user1@sign.com", "User 1", "Position 1")] |
75 | 75 |
|
| 76 | + |
| 77 | +class TestRemoveItemFromSessionView(BaseRemoveFromSession): |
| 78 | + """Test RemoveItemFromSessionView browser view.""" |
| 79 | + |
76 | 80 | def test_available(self): |
77 | 81 | """Test available method returns True.""" |
78 | 82 | view = getMultiAdapter((self.annexes[0], self.request), name="remove-item-from-esign-session") |
@@ -124,3 +128,27 @@ def test_finished_shows_message_and_redirects(self): |
124 | 128 | self.assertEqual(len(messages), 1) |
125 | 129 | self.assertIn("removed from session", messages[0].message) |
126 | 130 | self.assertEqual(self.request.RESPONSE.getHeader("location"), self.annexes[0].absolute_url()) |
| 131 | + |
| 132 | + |
| 133 | +class TestRemoveFromSessionView(BaseRemoveFromSession): |
| 134 | + """Test RemoveFromSessionView browser view.""" |
| 135 | + |
| 136 | + def test_available(self): |
| 137 | + """Test available method returns True.""" |
| 138 | + annot = get_session_annotation() |
| 139 | + self.assertFalse(annot["sessions"]) |
| 140 | + # only available on "context_uid" |
| 141 | + annex = self.annexes[0] |
| 142 | + view = getMultiAdapter((annex, self.request), name="remove-from-esign-session") |
| 143 | + self.assertFalse(view.available()) |
| 144 | + add_files_to_session(self.signers, [annex.UID()]) |
| 145 | + self.assertTrue(annot["sessions"]) |
| 146 | + self.assertFalse(view.available()) |
| 147 | + # available on parent |
| 148 | + folder = annex.aq_parent |
| 149 | + view = getMultiAdapter((folder, self.request), name="remove-from-esign-session") |
| 150 | + self.assertTrue(view.available()) |
| 151 | + # call the view so context is removed so no more session |
| 152 | + view() |
| 153 | + self.assertFalse(annot["sessions"]) |
| 154 | + self.assertFalse(view.available()) |
0 commit comments