Skip to content

Commit

Permalink
Fix falining AT Collection creation when using api.content.create.
Browse files Browse the repository at this point in the history
  • Loading branch information
gbastien committed Sep 6, 2018
1 parent 2626aa4 commit 2fa3b01
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 2 deletions.
3 changes: 3 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ Bug fixes:
- fix typos in doc strings
[tkimnguyen]

- Fix falining AT Collection creation when using api.content.create.
[gbastien]


1.8.4 (2018-04-24)
------------------
Expand Down
4 changes: 2 additions & 2 deletions src/plone/api/content.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ def create(
# rename-after-creation and such
# Passing values as a dict with None values so values set by
# invokeFactory don't get overridden.
# None: None is required so that bool(values) is True.
content.processForm(values={None: None})
# '': '' is required so that bool(values) is True.
content.processForm(values={'': ''})

if not id or (safe_id and id):
# Create a new id from title
Expand Down
56 changes: 56 additions & 0 deletions src/plone/api/tests/test_content.py
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,62 @@ def test_create_at_with_title_in_request(self):

self.assertEqual(page.title, 'Test document')

@unittest.skipIf(HAS_PACONTENTYPES, 'Archetypes only')
def test_create_at_collection(self):
"""Test create at Collecition."""
collection = api.content.create(
container=self.portal,
type='Collection',
title='Mandelbrot set',
description='Image gallery of a zoom sequence',
query=[{
'i': 'Type',
'o': 'plone.app.querystring.operation.string.is',
'v': ['Image'],
}],
)
self.assertEqual(collection.Title(), 'Mandelbrot set')

@unittest.skipIf(HAS_PACONTENTYPES, 'Archetypes only')
def test_create_at_event(self):
"""https://github.com/plone/plone.api/issues/364"""
from DateTime import DateTime
today = DateTime()
tomorrow = today + 1
event = api.content.create(
container=self.portal,
type='Event',
title=u'My event',
startDate=today,
endDate=tomorrow,
)
self.assertEqual(event.startDate, today)
self.assertEqual(event.endDate, tomorrow)
results = api.content.find(Title=u'My event')
self.assertEqual(len(results), 1)
self.assertEqual(results[0].start, today)
self.assertEqual(results[0].end, tomorrow)

@unittest.skipUnless(HAS_PACONTENTYPES, 'Dexterity only')
def test_create_dx_event(self):
"""https://github.com/plone/plone.app.contenttypes/issues/465"""
import datetime
today = datetime.datetime.now()
tomorrow = today + datetime.timedelta(days=1)
event = api.content.create(
container=self.portal,
type='Event',
title=u'My event',
start=today,
end=tomorrow,
)
self.assertEqual(event.start, today)
self.assertEqual(event.end, tomorrow)
results = api.content.find(Title=u'My event')
self.assertEqual(len(results), 1)
self.assertEqual(results[0].start, today)
self.assertEqual(results[0].end, tomorrow)

def test_get_constraints(self):
"""Test the constraints when content is fetched with get."""

Expand Down

0 comments on commit 2fa3b01

Please sign in to comment.