Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ekaterina
erp5
Commits
bb3876fa
Commit
bb3876fa
authored
Aug 28, 2020
by
Arnaud Fontaine
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ZODB Components: erp5_crm: Migrate Unit Tests.
parent
26ffebd5
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
314 additions
and
78 deletions
+314
-78
bt5/erp5_crm/TestTemplateItem/portal_components/test.erp5.testCRM.py
...m/TestTemplateItem/portal_components/test.erp5.testCRM.py
+13
-16
bt5/erp5_crm/TestTemplateItem/portal_components/test.erp5.testCRM.xml
.../TestTemplateItem/portal_components/test.erp5.testCRM.xml
+110
-0
bt5/erp5_crm/TestTemplateItem/portal_components/test.erp5.testCrmReports.py
...emplateItem/portal_components/test.erp5.testCrmReports.py
+75
-61
bt5/erp5_crm/TestTemplateItem/portal_components/test.erp5.testCrmReports.xml
...mplateItem/portal_components/test.erp5.testCrmReports.xml
+110
-0
bt5/erp5_crm/bt/template_test_id_list
bt5/erp5_crm/bt/template_test_id_list
+2
-0
bt5/erp5_crm/bt/test_dependency_list
bt5/erp5_crm/bt/test_dependency_list
+4
-1
No files found.
product/ERP5/tests/
testCRM.py
→
bt5/erp5_crm/TestTemplateItem/portal_components/test.erp5.
testCRM.py
View file @
bb3876fa
...
...
@@ -43,8 +43,11 @@ from email.mime.text import MIMEText
from
email
import
encoders
,
message_from_string
from
DateTime
import
DateTime
import
Products.ERP5.tests
def
makeFilePath
(
name
):
return
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'test_data'
,
'crm_emails'
,
name
)
return
os
.
path
.
join
(
os
.
path
.
dirname
(
Products
.
ERP5
.
tests
.
__file__
),
'test_data'
,
'crm_emails'
,
name
)
def
makeFileUpload
(
name
):
path
=
makeFilePath
(
name
)
...
...
@@ -108,7 +111,6 @@ class TestCRM(BaseTestCRM):
def
test_Event_CreateRelatedEvent
(
self
):
# test workflow to create a related event from responded event
event_module
=
self
.
portal
.
event_module
portal_workflow
=
self
.
portal
.
portal_workflow
ticket
=
self
.
portal
.
campaign_module
.
newContent
(
portal_type
=
'Campaign'
,)
for
ptype
in
[
x
for
x
in
self
.
portal
.
getPortalEventTypeList
()
if
x
!=
'Acknowledgement'
]:
...
...
@@ -152,7 +154,6 @@ class TestCRM(BaseTestCRM):
def
test_Ticket_CreateRelatedEvent
(
self
):
# test action to create a related event from a ticket
event_module_url
=
self
.
portal
.
event_module
.
absolute_url
()
ticket
=
self
.
portal
.
meeting_module
.
newContent
(
portal_type
=
'Meeting'
)
for
ptype
in
[
x
for
x
in
self
.
portal
.
getPortalEventTypeList
()
if
x
!=
'Acknowledgement'
]:
...
...
@@ -416,7 +417,6 @@ class TestCRM(BaseTestCRM):
"""
portal_type
=
"Support Request"
title
=
"Title of the Support Request"
content
=
"This is the content of the Support Request"
module
=
self
.
portal
.
support_request_module
support_request
=
module
.
newContent
(
portal_type
=
portal_type
,
title
=
title
,)
...
...
@@ -550,7 +550,7 @@ class TestCRM(BaseTestCRM):
self
.
assertEqual
(
event_list
,
[])
event_list
=
campaign
.
getFollowUpRelatedValueList
(
portal_type
=
'Mail Message'
)
self
.
assertNotEquals
(
event_list
,
[])
destination_list
=
map
(
lambda
x
:
x
.
getDestinationValue
(),
event_list
)
destination_list
=
[
x
.
getDestinationValue
()
for
x
in
event_list
]
self
.
assertEqual
(
destination_list
,
[
first_user
])
mail_message
=
event_list
[
0
]
self
.
assertEqual
(
sender
.
getRelativeUrl
(),
mail_message
.
getSource
())
...
...
@@ -571,10 +571,10 @@ class TestCRM(BaseTestCRM):
self
.
assertEqual
([],
event_list
)
event_list
=
campaign
.
getFollowUpRelatedValueList
(
portal_type
=
'Visit'
)
self
.
assertNotEquals
([],
event_list
)
destination_uid_list
=
map
(
lambda
x
:
x
.
getDestinationUid
(),
event_list
)
destination_uid_list
=
[
x
.
getDestinationUid
()
for
x
in
event_list
]
self
.
assertEqual
([
organisation
.
getUid
()],
destination_uid_list
)
resource_value_list
=
map
(
lambda
x
:
x
.
getResourceValue
(),
event_list
)
resource_value_list
=
[
x
.
getResourceValue
()
for
x
in
event_list
]
self
.
assertEqual
([
service
],
resource_value_list
)
def
test_OutcomePath
(
self
):
...
...
@@ -648,8 +648,7 @@ class TestCRMMailIngestion(BaseTestCRM):
def
_readTestData
(
self
,
filename
):
"""read test data from data directory."""
return
file
(
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'test_data'
,
'crm_emails'
,
filename
)).
read
()
return
file
(
makeFilePath
(
filename
)).
read
()
def
_ingestMail
(
self
,
filename
=
None
,
data
=
None
):
"""ingest an email from the mail in data dir named `filename`"""
...
...
@@ -685,8 +684,6 @@ class TestCRMMailIngestion(BaseTestCRM):
(
'"He<" <he@erp5.org>'
,
[
'person_module/he'
]),
)
portal
=
self
.
portal
Base_getEntityListFromFromHeader
=
portal
.
Base_getEntityListFromFromHeader
pc
=
self
.
portal
.
portal_catalog
for
header
,
expected_paths
in
expected_values
:
paths
=
[
entity
.
getRelativeUrl
()
for
entity
in
portal
.
Base_getEntityListFromFromHeader
(
header
)]
...
...
@@ -771,7 +768,7 @@ class TestCRMMailIngestion(BaseTestCRM):
def
test_getPropertyDictFromContent_and_defined_arrow
(
self
):
# If source/destination are set on event, then getPropertyDictFromContent
# should not lookup one based on email address.
person
=
self
.
portal
.
person_module
.
newContent
(
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
,
default_email_coordinate_text
=
'destination@example.com'
,)
organisation
=
self
.
portal
.
organisation_module
.
newContent
(
...
...
@@ -970,10 +967,10 @@ class TestCRMMailIngestion(BaseTestCRM):
portal_type
=
'Mail Message'
event
=
self
.
portal
.
getDefaultModule
(
portal_type
).
newContent
(
portal_type
=
portal_type
)
# build message content with flwd attachment
plain_text_message
=
'You can read this'
html_filename
=
'broken_html.html'
file_path
=
'%s/test_data/%s'
%
(
__file__
.
rstrip
(
'c'
).
replace
(
__name__
+
'.py'
,
''
),
html_filename
,)
file_path
=
'%s/test_data/%s'
%
(
os
.
path
.
dirname
(
Products
.
ERP5
.
tests
.
__file__
),
html_filename
)
html_message
=
open
(
file_path
,
'r'
).
read
()
message
=
MIMEMultipart
(
'alternative'
)
message
.
attach
(
MIMEText
(
'text plain content'
,
_charset
=
'utf-8'
))
...
...
@@ -1998,7 +1995,7 @@ class TestCRMMailSend(BaseTestCRM):
mail_message
.
send
(
extra_header_dict
=
{
"X-test-header"
:
"test"
})
self
.
tic
()
(
from_url
,
to_url
,
last_message
,),
=
self
.
portal
.
MailHost
.
_message_list
(
_
,
_
,
last_message
,),
=
self
.
portal
.
MailHost
.
_message_list
message
=
message_from_string
(
last_message
)
self
.
assertEqual
(
"test"
,
message
.
get
(
"X-test-header"
))
...
...
bt5/erp5_crm/TestTemplateItem/portal_components/test.erp5.testCRM.xml
0 → 100644
View file @
bb3876fa
<?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>
default_reference
</string>
</key>
<value>
<string>
testCRM
</string>
</value>
</item>
<item>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<string>
Products.ERP5.tests.testCRM
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
test.erp5.testCRM
</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"
>
AAAAAAAAAAI=
</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>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<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>
product/ERP5/tests/
testCrmReports.py
→
bt5/erp5_crm/TestTemplateItem/portal_components/test.erp5.
testCrmReports.py
View file @
bb3876fa
...
...
@@ -111,28 +111,36 @@ class CrmTestCase(ERP5ReportTestCase):
if
simulation_state
==
'assigned'
:
raise
NotImplementedError
,
'%r state only exists in the old event workflow.'
%
simulation_state
"""
ticket=self.portal.restrictedTraverse(ev.getFollowUp())
self._doWorkflowAction(ev,'assign_action',
follow_up_ticket_type = ticket.getPortalType(),
follow_up_ticket_title = ticket.getTitle())
"""
elif
simulation_state
==
'planned'
:
ev
.
plan
()
elif
simulation_state
==
'posted'
:
raise
NotImplementedError
,
'%r state only exists in the old event workflow.'
%
simulation_state
"""
ev.start()
"""
elif
simulation_state
==
'delivered'
:
ev
.
start
()
ev
.
deliver
()
elif
simulation_state
==
'new'
:
raise
NotImplementedError
,
'%r state only exists in the old event workflow.'
%
simulation_state
"""
ev.receive()
"""
elif
simulation_state
==
'acknowledged'
:
raise
NotImplementedError
,
'%r state only exists in the old event workflow.'
%
simulation_state
"""
ticket=self.portal.restrictedTraverse(ev.getFollowUp())
self._doWorkflowAction(ev,'assign_action',
follow_up_ticket_type = ticket.getPortalType(),
follow_up_ticket_title = ticket.getTitle())
self._doWorkflowAction(ev, 'acknowledge_action')
"""
elif
simulation_state
==
'cancelled'
:
ev
.
stop
()
ev
.
cancel
()
...
...
@@ -140,25 +148,31 @@ class CrmTestCase(ERP5ReportTestCase):
ev
.
delete
()
elif
simulation_state
==
'expired'
:
raise
NotImplementedError
,
'%r state only exists in the old event workflow.'
%
simulation_state
"""
ev.receive()
ev.expire()
"""
elif
simulation_state
==
'responded'
:
raise
NotImplementedError
,
'%r state only exists in the old event workflow.'
%
simulation_state
"""
ev.receive()
ev.respond()
"""
elif
simulation_state
==
'started'
:
ev
.
start
()
elif
simulation_state
==
'ordered'
:
raise
NotImplementedError
,
'%r state only exists in the old event workflow.'
%
simulation_state
"""
ev.plan()
ev.order()
"""
elif
simulation_state
==
'stopped'
:
ev
.
stop
()
# sanity check
self
.
assertEqual
(
simulation_state
,
ev
.
getSimulationState
())
return
ev
def
login
(
self
):
def
login
(
self
,
*
args
,
**
kw
):
"""login with Manager roles."""
uf
=
self
.
getPortal
().
acl_users
uf
.
_doAddUser
(
'manager'
,
'manager'
,
[
'Manager'
,
'Assignee'
,
'Assignor'
,
...
...
@@ -181,43 +195,43 @@ class CrmTestCase(ERP5ReportTestCase):
# create group category
if
not
self
.
portal_categories
[
'group'
].
has_key
(
'demo_group'
):
group
=
self
.
portal_categories
.
group
subgroup
=
group
.
newContent
(
portal_type
=
'Category'
,
group
.
newContent
(
portal_type
=
'Category'
,
title
=
'demo_group'
,
reference
=
'demo_group'
,
id
=
'demo_group'
)
# create users and organisations
if
not
self
.
person_module
.
has_key
(
'Person_1'
):
user
=
self
.
portal
.
person_module
.
newContent
(
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
,
reference
=
'Person_1'
,
title
=
'Person_1'
,
id
=
'Person_1'
)
if
not
self
.
person_module
.
has_key
(
'Person_2'
):
user
=
self
.
portal
.
person_module
.
newContent
(
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
,
reference
=
'Person_2'
,
title
=
'Person_2'
,
id
=
'Person_2'
)
if
not
self
.
person_module
.
has_key
(
'Person_3'
):
user
=
self
.
portal
.
person_module
.
newContent
(
self
.
portal
.
person_module
.
newContent
(
portal_type
=
'Person'
,
reference
=
'Person_3'
,
title
=
'Person_3'
,
id
=
'Person_3'
)
if
not
self
.
organisation_module
.
has_key
(
'Organisation_1'
):
org
=
self
.
portal
.
organisation_module
.
newContent
(
self
.
portal
.
organisation_module
.
newContent
(
portal_type
=
'Organisation'
,
reference
=
'Organisation_1'
,
title
=
'Organisation_1'
,
id
=
'Organisation_1'
)
if
not
self
.
organisation_module
.
has_key
(
'Organisation_2'
):
org
=
self
.
portal
.
organisation_module
.
newContent
(
self
.
portal
.
organisation_module
.
newContent
(
portal_type
=
'Organisation'
,
reference
=
'Organisation_2'
,
title
=
'Organisation_2'
,
id
=
'Organisation_2'
)
if
not
self
.
organisation_module
.
has_key
(
'My_organisation'
):
org
=
self
.
portal
.
organisation_module
.
newContent
(
self
.
portal
.
organisation_module
.
newContent
(
portal_type
=
'Organisation'
,
reference
=
'My_organisation'
,
title
=
'My_organisation'
,
...
...
@@ -301,7 +315,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
eventOut2
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Out 2 of First'
,
simulation_state
=
'planned'
,
...
...
@@ -309,7 +323,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
1
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
eventOut3
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Phone Call'
,
title
=
'Out 3 of First'
,
simulation_state
=
'delivered'
,
...
...
@@ -317,7 +331,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
eventIn1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Response to Out 1 of First'
,
simulation_state
=
'stopped'
,
...
...
@@ -342,7 +356,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
second
.
getRelativeUrl
())
eventOut2
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Out 2 of Second'
,
simulation_state
=
'delivered'
,
...
...
@@ -350,7 +364,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
2
,
2
,
1
),
follow_up
=
second
.
getRelativeUrl
())
eventInt1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Response to Out 1 of Second'
,
simulation_state
=
'stopped'
,
...
...
@@ -472,7 +486,7 @@ class TestCrmReports(CrmTestCase):
start_date
=
DateTime
(
2007
,
2
,
7
,
1
,
1
),
causality
=
first_event_out1
.
getRelativeUrl
())
# creating one free event for test
free_event_out1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Free 1'
,
simulation_state
=
'delivered'
,
...
...
@@ -610,7 +624,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
eventOut2
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Out 2 of First'
,
simulation_state
=
'planned'
,
...
...
@@ -618,7 +632,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
1
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
eventOut3
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Phone Call'
,
title
=
'Out 3 of First'
,
simulation_state
=
'delivered'
,
...
...
@@ -626,7 +640,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
eventIn1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Response to Out 1 of First'
,
simulation_state
=
'stopped'
,
...
...
@@ -651,7 +665,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
second
.
getRelativeUrl
())
eventOut2
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Out 2 of Second'
,
simulation_state
=
'delivered'
,
...
...
@@ -659,7 +673,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
2
,
2
,
1
),
follow_up
=
second
.
getRelativeUrl
())
eventInt1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Response to Out 1 of Second'
,
simulation_state
=
'stopped'
,
...
...
@@ -780,7 +794,7 @@ class TestCrmReports(CrmTestCase):
start_date
=
DateTime
(
2007
,
2
,
7
,
1
,
1
),
causality
=
first_event_out1
.
getRelativeUrl
())
# creating one free event for test
free_event_out1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Free 1'
,
simulation_state
=
'delivered'
,
...
...
@@ -918,7 +932,7 @@ class TestCrmReports(CrmTestCase):
source_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
first_event_inc2
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Inc 2 of First'
,
simulation_state
=
'stopped'
,
...
...
@@ -926,7 +940,7 @@ class TestCrmReports(CrmTestCase):
source_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
1
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
first_event_inc3
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Phone Call'
,
title
=
'Inc 3 of First'
,
simulation_state
=
'stopped'
,
...
...
@@ -934,7 +948,7 @@ class TestCrmReports(CrmTestCase):
source_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
first_event_out1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Response to Inc 1 of First'
,
simulation_state
=
'delivered'
,
...
...
@@ -943,7 +957,7 @@ class TestCrmReports(CrmTestCase):
start_date
=
DateTime
(
2007
,
2
,
7
,
1
,
1
),
causality
=
first_event_inc1
.
getRelativeUrl
())
# creating one free event for test
feEvInc1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Free 1'
,
simulation_state
=
'stopped'
,
...
...
@@ -959,7 +973,7 @@ class TestCrmReports(CrmTestCase):
source_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
second
.
getRelativeUrl
())
se
cond_event_inc2
=
se
lf
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Inc 2 of Second'
,
simulation_state
=
'stopped'
,
...
...
@@ -967,7 +981,7 @@ class TestCrmReports(CrmTestCase):
source_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
2
,
2
,
1
),
follow_up
=
second
.
getRelativeUrl
())
se
cond_event_out1
=
se
lf
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Response to Inc 1 of Second'
,
simulation_state
=
'delivered'
,
...
...
@@ -1088,7 +1102,7 @@ class TestCrmReports(CrmTestCase):
start_date
=
DateTime
(
2007
,
2
,
7
,
1
,
1
),
causality
=
first_event_inc1
.
getRelativeUrl
())
# creating one free event for test
feEvInc1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Free 1'
,
simulation_state
=
'stopped'
,
...
...
@@ -1226,7 +1240,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
eventOut2
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Out 2 of First'
,
simulation_state
=
'planned'
,
...
...
@@ -1234,7 +1248,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
1
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
eventOut3
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Phone Call'
,
title
=
'Out 3 of First'
,
simulation_state
=
'delivered'
,
...
...
@@ -1242,7 +1256,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
first
.
getRelativeUrl
())
eventIn1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Response to Out 1 of First'
,
simulation_state
=
'stopped'
,
...
...
@@ -1267,7 +1281,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
second
.
getRelativeUrl
())
eventOut2
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Out 2 of Second'
,
simulation_state
=
'delivered'
,
...
...
@@ -1275,7 +1289,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
2
,
2
,
1
),
follow_up
=
second
.
getRelativeUrl
())
eventInt1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Response to Out 1 of Second'
,
simulation_state
=
'stopped'
,
...
...
@@ -1396,7 +1410,7 @@ class TestCrmReports(CrmTestCase):
start_date
=
DateTime
(
2007
,
2
,
7
,
1
,
1
),
causality
=
first_event_out1
.
getRelativeUrl
())
# creating one free event for test
free_event_out1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Free 1'
,
simulation_state
=
'delivered'
,
...
...
@@ -1539,7 +1553,7 @@ class TestCrmReports(CrmTestCase):
stop_date
=
DateTime
(
2007
,
12
,
31
))
# creating events in every incoming-outgoing state related with tickets
event1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Event 1'
,
simulation_state
=
'acknowledged'
,
...
...
@@ -1547,7 +1561,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
sale_opportunity
.
getRelativeUrl
())
event2
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Event 2'
,
simulation_state
=
'assigned'
,
...
...
@@ -1555,7 +1569,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
1
,
1
,
1
),
follow_up
=
campaign
.
getRelativeUrl
())
event3
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Phone Call'
,
title
=
'Event 3'
,
simulation_state
=
'cancelled'
,
...
...
@@ -1563,7 +1577,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
meeting
.
getRelativeUrl
())
event4
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Event 4'
,
simulation_state
=
'expired'
,
...
...
@@ -1587,7 +1601,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
campaign
.
getRelativeUrl
())
event7
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Event 7'
,
simulation_state
=
'delivered'
,
...
...
@@ -1595,7 +1609,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
meeting
.
getRelativeUrl
())
event8
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Phone Call'
,
title
=
'Event 8'
,
simulation_state
=
'planned'
,
...
...
@@ -1620,14 +1634,14 @@ class TestCrmReports(CrmTestCase):
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
campaign
.
getRelativeUrl
())
# creating free event for unassigned
free_event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Free 1'
,
simulation_state
=
'delivered'
,
source_value
=
self
.
organisation_module
.
My_organisation
,
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
))
free_event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Free 2'
,
simulation_state
=
'stopped'
,
...
...
@@ -1635,7 +1649,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
))
# creating events in every non incoming-outgoing state related with tickets
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Event deleted 1'
,
simulation_state
=
'draft'
,
...
...
@@ -1643,7 +1657,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
sale_opportunity
.
getRelativeUrl
())
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Event deleted 2'
,
simulation_state
=
'deleted'
,
...
...
@@ -1653,7 +1667,7 @@ class TestCrmReports(CrmTestCase):
follow_up
=
campaign
.
getRelativeUrl
())
# creating events in incoming-outgoing state related with tickets
# by causality with one related event
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Event causality 1'
,
simulation_state
=
'stopped'
,
...
...
@@ -1661,7 +1675,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
causality
=
event9
.
getRelativeUrl
())
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Event causality 2'
,
simulation_state
=
'stopped'
,
...
...
@@ -1671,7 +1685,7 @@ class TestCrmReports(CrmTestCase):
causality
=
event10
.
getRelativeUrl
())
# creating events related with same ticket by follow-up and causality
# Only must count one time (follow-up)
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Event both 1'
,
simulation_state
=
'stopped'
,
...
...
@@ -1680,7 +1694,7 @@ class TestCrmReports(CrmTestCase):
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
causality
=
event5
.
getRelativeUrl
(),
follow_up
=
sale_opportunity
.
getRelativeUrl
())
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Event both 2'
,
simulation_state
=
'responded'
,
...
...
@@ -1881,7 +1895,7 @@ class TestCrmReports(CrmTestCase):
stop_date
=
DateTime
(
2007
,
12
,
31
))
# creating events in every incoming-outgoing state related with tickets
event1
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Event 1'
,
simulation_state
=
'acknowledged'
,
...
...
@@ -1889,7 +1903,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
sale_opportunity
.
getRelativeUrl
())
event2
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Event 2'
,
simulation_state
=
'assigned'
,
...
...
@@ -1897,7 +1911,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_2
,
start_date
=
DateTime
(
2007
,
2
,
1
,
1
,
1
),
follow_up
=
campaign
.
getRelativeUrl
())
event3
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Phone Call'
,
title
=
'Event 3'
,
simulation_state
=
'cancelled'
,
...
...
@@ -1905,7 +1919,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
meeting
.
getRelativeUrl
())
event4
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Event 4'
,
simulation_state
=
'expired'
,
...
...
@@ -1929,7 +1943,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
campaign
.
getRelativeUrl
())
event7
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Mail Message'
,
title
=
'Event 7'
,
simulation_state
=
'delivered'
,
...
...
@@ -1937,7 +1951,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
meeting
.
getRelativeUrl
())
event8
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Phone Call'
,
title
=
'Event 8'
,
simulation_state
=
'planned'
,
...
...
@@ -1962,14 +1976,14 @@ class TestCrmReports(CrmTestCase):
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
follow_up
=
campaign
.
getRelativeUrl
())
# creating free event for unassigned
free_event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Free 1'
,
simulation_state
=
'delivered'
,
source_value
=
self
.
organisation_module
.
My_organisation
,
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
))
free_event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Free 2'
,
simulation_state
=
'stopped'
,
...
...
@@ -1977,7 +1991,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_3
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
))
# creating events in every non incoming-outgoing state related with tickets
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Event deleted 1'
,
simulation_state
=
'draft'
,
...
...
@@ -1985,7 +1999,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
follow_up
=
sale_opportunity
.
getRelativeUrl
())
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Event deleted 2'
,
simulation_state
=
'deleted'
,
...
...
@@ -1995,7 +2009,7 @@ class TestCrmReports(CrmTestCase):
follow_up
=
campaign
.
getRelativeUrl
())
# creating events in incoming-outgoing state related with tickets
# by causality with one related event
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Event causality 1'
,
simulation_state
=
'stopped'
,
...
...
@@ -2003,7 +2017,7 @@ class TestCrmReports(CrmTestCase):
destination_value
=
self
.
person_module
.
Person_1
,
start_date
=
DateTime
(
2007
,
2
,
2
,
1
,
1
),
causality
=
event9
.
getRelativeUrl
())
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Event causality 2'
,
simulation_state
=
'stopped'
,
...
...
@@ -2013,7 +2027,7 @@ class TestCrmReports(CrmTestCase):
causality
=
event10
.
getRelativeUrl
())
# creating events related with same ticket by follow-up and causality
# Only must count one time (follow-up)
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Fax Message'
,
title
=
'Event both 1'
,
simulation_state
=
'stopped'
,
...
...
@@ -2022,7 +2036,7 @@ class TestCrmReports(CrmTestCase):
start_date
=
DateTime
(
2007
,
2
,
3
,
1
,
1
),
causality
=
event5
.
getRelativeUrl
(),
follow_up
=
sale_opportunity
.
getRelativeUrl
())
event
=
self
.
_makeOneEvent
(
self
.
_makeOneEvent
(
portal_type
=
'Letter'
,
title
=
'Event both 2'
,
simulation_state
=
'responded'
,
...
...
bt5/erp5_crm/TestTemplateItem/portal_components/test.erp5.testCrmReports.xml
0 → 100644
View file @
bb3876fa
<?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>
default_reference
</string>
</key>
<value>
<string>
testCrmReports
</string>
</value>
</item>
<item>
<key>
<string>
default_source_reference
</string>
</key>
<value>
<string>
Products.ERP5.tests.testCrmReports
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
test.erp5.testCrmReports
</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"
>
AAAAAAAAAAI=
</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>
<item>
<key>
<string>
component_validation_workflow
</string>
</key>
<value>
<persistent>
<string
encoding=
"base64"
>
AAAAAAAAAAM=
</string>
</persistent>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</pickle>
</record>
<record
id=
"3"
aka=
"AAAAAAAAAAM="
>
<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_crm/bt/template_test_id_list
View file @
bb3876fa
test.erp5.testCRM
test.erp5.testCRMNotificationTool
test.erp5.testCRMSupportRequest
test.erp5.testCrmReports
test.erp5.testERP5WebWithCRM
\ No newline at end of file
bt5/erp5_crm/bt/test_dependency_list
View file @
bb3876fa
erp5_full_text_mroonga_catalog
erp5_core_test
erp5_web
\ No newline at end of file
erp5_web
erp5_core_proxy_field_legacy
erp5_pdm
erp5_dms
\ No newline at end of file
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