Skip to content

Commit aabc3f9

Browse files
committed
Update tests
1 parent fc1f5d0 commit aabc3f9

File tree

3 files changed

+91
-11
lines changed

3 files changed

+91
-11
lines changed

src/imio/directory/core/tests/test_contact.py

+13-10
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ def setUp(self):
3030
self.request = self.layer["request"]
3131
self.portal = self.layer["portal"]
3232
setRoles(self.portal, TEST_USER_ID, ["Manager"])
33+
self.entity = api.content.create(
34+
container=self.portal,
35+
type="imio.directory.Entity",
36+
title="Entity",
37+
)
3338

3439
def test_ct_contact_schema(self):
3540
fti = queryUtility(IDexterityFTI, name="imio.directory.Contact")
@@ -55,7 +60,7 @@ def test_ct_contact_factory(self):
5560
def test_ct_contact_adding(self):
5661
setRoles(self.portal, TEST_USER_ID, ["Contributor"])
5762
contact = api.content.create(
58-
container=self.portal,
63+
container=self.entity,
5964
type="imio.directory.Contact",
6065
title="contact",
6166
)
@@ -73,17 +78,15 @@ def test_ct_contact_adding(self):
7378
api.content.delete(obj=contact)
7479
self.assertNotIn("contact", parent.objectIds())
7580

76-
def test_ct_contact_globally_addable(self):
81+
def test_ct_contact_not_globally_addable(self):
7782
setRoles(self.portal, TEST_USER_ID, ["Contributor"])
7883
fti = queryUtility(IDexterityFTI, name="imio.directory.Contact")
79-
self.assertTrue(
80-
fti.global_allow, u"{0} is not globally addable!".format(fti.id)
81-
)
84+
self.assertFalse(fti.global_allow, u"{0} is globally addable!".format(fti.id))
8285

83-
def test_ct_contact_filter_content_type_true(self):
86+
def test_ct_contact_filter_content_type(self):
8487
setRoles(self.portal, TEST_USER_ID, ["Contributor"])
8588
contact = api.content.create(
86-
container=self.portal,
89+
container=self.entity,
8790
type="imio.directory.Contact",
8891
title="contact",
8992
)
@@ -116,7 +119,7 @@ def test_phone_constraint(self):
116119

117120
def test_name_chooser(self):
118121
contact = api.content.create(
119-
container=self.portal,
122+
container=self.entity,
120123
type="imio.directory.Contact",
121124
title="contact",
122125
)
@@ -132,7 +135,7 @@ def test_name_chooser(self):
132135

133136
def test_gallery_in_contact_view(self):
134137
contact = api.content.create(
135-
container=self.portal,
138+
container=self.entity,
136139
type="imio.directory.Contact",
137140
title="contact",
138141
)
@@ -148,7 +151,7 @@ def test_gallery_in_contact_view(self):
148151

149152
def test_files_in_contact_view(self):
150153
contact = api.content.create(
151-
container=self.portal,
154+
container=self.entity,
152155
type="imio.directory.Contact",
153156
title="contact",
154157
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# -*- coding: utf-8 -*-
2+
3+
from bs4 import BeautifulSoup
4+
from imio.directory.core.testing import IMIO_DIRECTORY_CORE_FUNCTIONAL_TESTING
5+
from plone import api
6+
from plone.app.testing import setRoles
7+
from plone.app.testing import TEST_USER_ID
8+
from plone.app.testing import TEST_USER_NAME
9+
from plone.app.testing import TEST_USER_PASSWORD
10+
from plone.testing.z2 import Browser
11+
import transaction
12+
import unittest
13+
14+
15+
class FormsFunctionalTest(unittest.TestCase):
16+
17+
layer = IMIO_DIRECTORY_CORE_FUNCTIONAL_TESTING
18+
19+
def setUp(self):
20+
"""Custom shared utility setup for tests"""
21+
self.request = self.layer["request"]
22+
self.portal = self.layer["portal"]
23+
setRoles(self.portal, TEST_USER_ID, ["Manager"])
24+
25+
def test_leadimage_caption_field(self):
26+
entity = api.content.create(
27+
container=self.portal,
28+
type="imio.directory.Entity",
29+
title="Entity",
30+
)
31+
self.check_leadimage_caption_field(entity, container=self.portal)
32+
contact = api.content.create(
33+
container=entity,
34+
type="imio.directory.Contact",
35+
title="Contact",
36+
)
37+
self.check_leadimage_caption_field(contact, container=entity)
38+
39+
def check_leadimage_caption_field(self, obj, container):
40+
transaction.commit()
41+
browser = Browser(self.layer["app"])
42+
browser.addHeader(
43+
"Authorization",
44+
"Basic %s:%s"
45+
% (
46+
TEST_USER_NAME,
47+
TEST_USER_PASSWORD,
48+
),
49+
)
50+
browser.open("{}/edit".format(obj.absolute_url()))
51+
content = browser.contents
52+
soup = BeautifulSoup(content)
53+
lead_image_caption_widget = soup.find(
54+
id="form-widgets-ILeadImageBehavior-image_caption"
55+
)
56+
self.assertIsNotNone(lead_image_caption_widget)
57+
self.assertEqual(len(lead_image_caption_widget), 0)
58+
self.assertEqual(lead_image_caption_widget["type"], "hidden")
59+
60+
browser.open("{}/++add++{}".format(container.absolute_url(), obj.portal_type))
61+
content = browser.contents
62+
soup = BeautifulSoup(content)
63+
lead_image_caption_widget = soup.find(
64+
id="form-widgets-ILeadImageBehavior-image_caption"
65+
)
66+
self.assertIsNotNone(lead_image_caption_widget)
67+
self.assertEqual(len(lead_image_caption_widget), 0)
68+
self.assertEqual(lead_image_caption_widget["type"], "hidden")

src/imio/directory/core/tests/test_utils.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,15 @@ def setUp(self):
2525
self.request = self.layer["request"]
2626
self.portal = self.layer["portal"]
2727
setRoles(self.portal, TEST_USER_ID, ["Manager"])
28+
self.entity = api.content.create(
29+
container=self.portal,
30+
type="imio.directory.Entity",
31+
title="Entity",
32+
)
2833

2934
def test_export_to_vcard(self):
3035
contact = api.content.create(
31-
container=self.portal,
36+
container=self.entity,
3237
type="imio.directory.Contact",
3338
title="contact",
3439
)
@@ -62,3 +67,7 @@ def test_export_to_vcard(self):
6267
view = getMultiAdapter((self.portal, self.request), name="utils")
6368
self.assertFalse(view.can_export_contact_to_vcard())
6469
self.assertIsNone(view.export_contact_to_vcard())
70+
71+
view = getMultiAdapter((self.entity, self.request), name="utils")
72+
self.assertFalse(view.can_export_contact_to_vcard())
73+
self.assertIsNone(view.export_contact_to_vcard())

0 commit comments

Comments
 (0)