Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5_fork
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Eteri
erp5_fork
Commits
915b4640
Commit
915b4640
authored
Apr 25, 2022
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test: add missing unit test for PropertyRecordableMixin
parent
3c5ad2d3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
227 additions
and
0 deletions
+227
-0
bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testPropertyRecordable.py
...tem/portal_components/test.erp5.testPropertyRecordable.py
+93
-0
bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testPropertyRecordable.xml
...em/portal_components/test.erp5.testPropertyRecordable.xml
+133
-0
bt5/erp5_core_test/bt/template_test_id_list
bt5/erp5_core_test/bt/template_test_id_list
+1
-0
No files found.
bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testPropertyRecordable.py
0 → 100644
View file @
915b4640
##############################################################################
#
# Copyright (c) 2022 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from
Products.ERP5Type.tests.ERP5TypeTestCase
import
ERP5TypeTestCase
class
TestPropertyRecordable
(
ERP5TypeTestCase
):
def
_makeOne
(
self
,
**
kw
):
from
Products.ERP5.mixin.property_recordable
import
PropertyRecordableMixin
import
erp5.portal_type
class
PropertyRecordablePerson
(
erp5
.
portal_type
.
Person
,
PropertyRecordableMixin
):
pass
p
=
PropertyRecordablePerson
(
'test'
).
__of__
(
self
.
portal
)
p
.
edit
(
**
kw
)
return
p
def
test_record_property
(
self
):
p
=
self
.
_makeOne
(
first_name
=
'Foo'
,
last_name
=
'Baz'
)
p
.
recordProperty
(
'first_name'
)
p
.
setFirstName
(
'Bar'
)
self
.
assertEqual
(
p
.
getFirstName
(),
'Bar'
)
self
.
assertTrue
(
p
.
isPropertyRecorded
(
'first_name'
))
self
.
assertEqual
(
p
.
getRecordedProperty
(
'first_name'
),
'Foo'
)
self
.
assertEqual
(
p
.
getRecordedPropertyIdList
(),
[
'first_name'
])
def
test_record_property_category
(
self
):
p
=
self
.
_makeOne
(
region
=
'source'
)
p
.
recordProperty
(
'region'
)
p
.
setRegion
(
'destination'
)
self
.
assertEqual
(
p
.
getRegionList
(),
[
'destination'
])
self
.
assertTrue
(
p
.
isPropertyRecorded
(
'region'
))
self
.
assertEqual
(
p
.
getRecordedProperty
(
'region'
),
[
'source'
])
self
.
assertEqual
(
p
.
getRecordedPropertyIdList
(),
[
'region'
])
def
test_record_property_local_property
(
self
):
p
=
self
.
_makeOne
(
**
{
self
.
id
():
'Foo'
})
p
.
recordProperty
(
self
.
id
())
p
.
edit
(
**
{
self
.
id
():
'Bar'
})
self
.
assertEqual
(
p
.
getProperty
(
self
.
id
()),
'Bar'
)
self
.
assertTrue
(
p
.
isPropertyRecorded
(
self
.
id
()))
self
.
assertEqual
(
p
.
getRecordedProperty
(
self
.
id
()),
'Foo'
)
self
.
assertEqual
(
p
.
getRecordedPropertyIdList
(),
[
self
.
id
()])
def
test_as_recorded_context
(
self
):
p
=
self
.
_makeOne
(
first_name
=
'Foo'
,
last_name
=
'Baz'
)
p
.
recordProperty
(
'first_name'
)
p
.
setFirstName
(
'bar'
)
self
.
assertEqual
(
p
.
asRecordedContext
().
getFirstName
(),
'Foo'
)
def
test_clear_recorded_property_
(
self
):
p
=
self
.
_makeOne
(
first_name
=
'Foo'
,
last_name
=
'Baz'
)
p
.
recordProperty
(
'first_name'
)
p
.
recordProperty
(
'last_name'
)
p
.
clearRecordedProperty
(
'first_name'
)
self
.
assertFalse
(
p
.
isPropertyRecorded
(
'first_name'
))
self
.
assertTrue
(
p
.
isPropertyRecorded
(
'last_name'
))
# clearing a property that is not currently recorded is not an error
p
.
clearRecordedProperty
(
'description'
)
p
.
clearRecordedProperty
(
'last_name'
)
self
.
assertFalse
(
p
.
isPropertyRecorded
(
'first_name'
))
self
.
assertFalse
(
p
.
isPropertyRecorded
(
'last_name'
))
p
.
clearRecordedProperty
(
'description'
)
bt5/erp5_core_test/TestTemplateItem/portal_components/test.erp5.testPropertyRecordable.xml
0 → 100644
View file @
915b4640
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"Test Component"
module=
"erp5.portal_type"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_recorded_property_dict
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAI=
</string>
</persistent>
</value>
</item>
<item>
<key>
<string>
default_reference
</string>
</key>
<value>
<string>
testPropertyRecordable
</string>
</value>
</item>
<item>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
test.erp5.testPropertyRecordable
</string>
</value>
</item>
<item>
<key>
<string>
portal_type
</string>
</key>
<value>
<string>
Test Component
</string>
</value>
</item>
<item>
<key>
<string>
sid
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
text_content_error_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
text_content_warning_message
</string>
</key>
<value>
<tuple/>
</value>
</item>
<item>
<key>
<string>
version
</string>
</key>
<value>
<string>
erp5
</string>
</value>
</item>
<item>
<key>
<string>
workflow_history
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"2"
aka=
"AAAAAAAAAAI="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<pickle>
<global
name=
"PersistentMapping"
module=
"Persistence.mapping"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
data
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAQ=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"4"
aka=
"AAAAAAAAAAQ="
>
<pickle>
<global
name=
"WorkflowHistoryList"
module=
"Products.ERP5Type.Workflow"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_log
</string>
</key>
<value>
<list>
<dictionary>
<item>
<key>
<string>
action
</string>
</key>
<value>
<string>
validate
</string>
</value>
</item>
<item>
<key>
<string>
validation_state
</string>
</key>
<value>
<string>
validated
</string>
</value>
</item>
</dictionary>
</list>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_core_test/bt/template_test_id_list
View file @
915b4640
...
...
@@ -41,6 +41,7 @@ test.erp5.testPasswordTool
test.erp5.testPerson
test.erp5.testPredicate
test.erp5.testPreferences
test.erp5.testPropertyRecordable
test.erp5.testProxify
test.erp5.testProxyField
test.erp5.testQueryModule
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment