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
Alain Takoudjou
erp5
Commits
c83cdf36
Commit
c83cdf36
authored
Sep 23, 2014
by
Klaus Wölfel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_configurator_ebusiness_lotse: Add Test for the Configurator Workflow
parent
4362ea59
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
365 additions
and
2 deletions
+365
-2
bt5/erp5_configurator_ebusiness_lotse/SkinTemplateItem/portal_skins/erp5_configurator_ebusiness_lotse/BusinessConfiguration_displayEBusinessLotseDownload.xml
...e/BusinessConfiguration_displayEBusinessLotseDownload.xml
+1
-2
bt5/erp5_configurator_ebusiness_lotse/TestTemplateItem/portal_components/test.erp5.testEbusinessLotseConfigurationWorkflow.py
...ents/test.erp5.testEbusinessLotseConfigurationWorkflow.py
+239
-0
bt5/erp5_configurator_ebusiness_lotse/TestTemplateItem/portal_components/test.erp5.testEbusinessLotseConfigurationWorkflow.xml
...nts/test.erp5.testEbusinessLotseConfigurationWorkflow.xml
+123
-0
bt5/erp5_configurator_ebusiness_lotse/bt/template_test_id_list
...rp5_configurator_ebusiness_lotse/bt/template_test_id_list
+1
-0
bt5/erp5_configurator_ebusiness_lotse/bt/test_dependency_list
...erp5_configurator_ebusiness_lotse/bt/test_dependency_list
+1
-0
No files found.
bt5/erp5_configurator_ebusiness_lotse/SkinTemplateItem/portal_skins/erp5_configurator_ebusiness_lotse/BusinessConfiguration_displayEBusinessLotseDownload.xml
View file @
c83cdf36
...
@@ -66,7 +66,7 @@ context.BusinessConfiguration_setupOrganisation(\n
...
@@ -66,7 +66,7 @@ context.BusinessConfiguration_setupOrganisation(\n
configuration_save_url = configuration_save_url,\n
configuration_save_url = configuration_save_url,\n
title = \'ISIH GmbH\',\n
title = \'ISIH GmbH\',\n
default_email_text = \'mail@isih-gmbh.de\',\n
default_email_text = \'mail@isih-gmbh.de\',\n
default_telephone_tex = \'555-5555\',\n
default_telephone_tex
t
= \'555-5555\',\n
default_address_street_address = \'Musterstr. 1\',\n
default_address_street_address = \'Musterstr. 1\',\n
default_address_zip_code = \'00001\',\n
default_address_zip_code = \'00001\',\n
default_address_city = \'Dresden\',\n
default_address_city = \'Dresden\',\n
...
@@ -89,7 +89,6 @@ configuration_save.addConfigurationItem(\n
...
@@ -89,7 +89,6 @@ configuration_save.addConfigurationItem(\n
last_name = \'Admin\',\n
last_name = \'Admin\',\n
reference = \'user\',\n
reference = \'user\',\n
password = \'test\',\n
password = \'test\',\n
password_confirm = \'test\',\n
default_email_text = \'herradmin@isih-gmbh.de\',\n
default_email_text = \'herradmin@isih-gmbh.de\',\n
default_telephone_text = \'\',\n
default_telephone_text = \'\',\n
function = \'function/company\',\n
function = \'function/company\',\n
...
...
bt5/erp5_configurator_ebusiness_lotse/TestTemplateItem/portal_components/test.erp5.testEbusinessLotseConfigurationWorkflow.py
0 → 100644
View file @
c83cdf36
##############################################################################
# Copyright (c) 2011 Nexedi SA and Contributors. All Rights Reserved.
# Rafael Monnerat <rafael@nexedi.com>
#
# 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
erp5.component.test.testStandardConfigurationWorkflow
import
\
StandardConfigurationMixin
from
Products.ERP5Configurator.tests.ConfiguratorTestMixin
import
\
TestLiveConfiguratorWorkflowMixin
from
Products.ERP5Type.tests.Sequence
import
SequenceList
class
TestEbusinessLotseConfigurationWorkflow
(
StandardConfigurationMixin
):
"""
Test Live eBusiness Lotse Configuration Workflow
"""
def
getSampleOrganisation
(
self
):
return
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Organisation"
,
title
=
"ISIH GmbH"
)
def
getSampleBankAccount
(
self
):
return
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Bank Account"
,
title
=
"ISIH Bank"
)
def
getSampleBusinessProcess
(
self
):
return
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Business Process"
,
reference
=
"default_erp5_business_process"
)
def
stepCreateBusinessConfiguration
(
self
,
sequence
=
None
,
\
sequence_list
=
None
,
**
kw
):
""" Create one Business Configuration """
module
=
self
.
portal
.
business_configuration_module
business_configuration
=
module
.
newContent
(
portal_type
=
"Business Configuration"
,
title
=
'Test Configurator eBusiness Lotse Workflow'
)
next_dict
=
{}
sequence
.
edit
(
business_configuration
=
business_configuration
,
next_dict
=
next_dict
)
def
stepCheckConfigureInstallationForm
(
self
,
sequence
=
None
,
\
sequence_list
=
None
,
**
kw
):
""" Check the installation form """
response_dict
=
sequence
.
get
(
"response_dict"
)
# configuration is finished. We are at the Install state.
# On eBusiness Lotse, installation is the first slide.
self
.
assertEqual
(
'show'
,
response_dict
[
'command'
])
self
.
assertEqual
(
'Install'
,
response_dict
[
'next'
])
def
stepSetEbusinessLotseWorkflow
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
""" Set Consulting Workflow into Business Configuration """
business_configuration
=
sequence
.
get
(
"business_configuration"
)
self
.
setBusinessConfigurationWorkflow
(
business_configuration
,
"workflow_module/ebusiness_lotse_configuration_workflow"
)
def
stepViewCreatedPersons
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
self
.
login
(
user_name
=
'test_configurator_user'
)
person_list
=
self
.
portal
.
person_module
.
searchFolder
()
self
.
assertNotEquals
(
0
,
len
(
person_list
))
for
entity
in
person_list
:
for
username
in
self
.
all_username_list
:
self
.
failUnlessUserCanAccessDocument
(
username
,
entity
)
self
.
failUnlessUserCanViewDocument
(
username
,
entity
)
def
stepViewCreatedOrganisations
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
self
.
login
(
user_name
=
'test_configurator_user'
)
organisation_list
=
self
.
portal
.
organisation_module
.
searchFolder
()
self
.
assertNotEquals
(
0
,
len
(
organisation_list
))
for
entity
in
organisation_list
:
for
username
in
self
.
all_username_list
:
self
.
failUnlessUserCanAccessDocument
(
username
,
entity
)
self
.
failUnlessUserCanViewDocument
(
username
,
entity
)
def
stepViewCreatedAssignemnts
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
self
.
login
(
user_name
=
'test_configurator_user'
)
person_list
=
self
.
portal_person_module
.
searchFolder
()
self
.
assertNotEquals
(
0
,
len
(
person_list
))
for
person
in
person_list
:
for
assignment
in
person
.
contentValues
(
portal_type
=
'Assignment'
):
for
username
in
self
.
all_username_list
:
self
.
failUnlessUserCanAccessDocument
(
username
,
assignment
)
self
.
failUnlessUserCanViewDocument
(
username
,
assignment
)
def
stepCheckPerson
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
""" Check if person is created in appropiate state """
person
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Person"
,
reference
=
"user"
)
self
.
assertNotEquals
(
person
.
Person_getAvailableAssignmentValueList
(),
[])
self
.
assertEqual
(
person
.
getTitle
(),
"Herr Admin"
)
self
.
assertEqual
(
person
.
getDefaultEmailText
(),
'herradmin@isih-gmbh.de'
)
self
.
assertEqual
(
person
.
getFunction
(),
'company'
)
self
.
assertEqual
(
person
.
getValidationState
(),
"validated"
)
def
stepCheckOrganisation
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
""" Check if organisation is created in appropiate state """
organisation
=
self
.
getSampleOrganisation
()
self
.
assertEqual
(
organisation
.
getTitle
(),
"ISIH GmbH"
)
self
.
assertEqual
(
organisation
.
getDefaultEmailText
(),
"mail@isih-gmbh.de"
)
self
.
assertEqual
(
organisation
.
getDefaultTelephoneText
(),
"+(0)555-5555"
)
self
.
assertEqual
(
organisation
.
getDefaultAddressStreetAddress
(),
"Musterstr. 1"
)
self
.
assertEqual
(
organisation
.
getDefaultAddressZipCode
(),
"00001"
)
self
.
assertEqual
(
organisation
.
getDefaultAddressCity
(),
"Dresden"
)
self
.
assertEqual
(
organisation
.
getDefaultAddressRegion
(),
"europe/western_europe/germany"
)
self
.
assertEqual
(
organisation
.
getPriceCurrency
(),
"currency_module/EUR"
)
self
.
assertEqual
(
organisation
.
getValidationState
(),
"validated"
)
def
stepCheckBankAccount
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
""" Check if bank account is created in appropiate state """
organisation
=
self
.
getSampleOrganisation
()
bank_account
=
self
.
getSampleBankAccount
()
self
.
assertEqual
(
bank_account
.
aq_parent
,
organisation
)
self
.
assertEqual
(
bank_account
.
getTitle
(),
"ISIH Bank"
)
self
.
assertEqual
(
bank_account
.
getValidationState
(),
"validated"
)
def
stepCheckPurchaseTradeCondition
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
""" Check if purchase trade condition is created in appropiate state """
trade_condition
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Purchase Trade Condition"
,
reference
=
"PTC-General"
)
organisation
=
self
.
getSampleOrganisation
()
bank_account
=
self
.
getSampleBankAccount
()
business_process
=
self
.
getSampleBusinessProcess
()
self
.
assertEqual
(
trade_condition
.
getTitle
(),
"General Purchase Trade Condition"
)
self
.
assertEqual
(
trade_condition
.
getSpecialiseValue
(),
business_process
)
self
.
assertEqual
(
trade_condition
.
getDestinationValue
(),
organisation
)
self
.
assertEqual
(
trade_condition
.
getDestinationSectionValue
(),
organisation
)
self
.
assertEqual
(
trade_condition
.
getDestinationDecisionValue
(),
organisation
)
self
.
assertEqual
(
trade_condition
.
getDestinationAdministrationValue
(),
organisation
)
self
.
assertEqual
(
trade_condition
.
getDestinationPaymentValue
(),
bank_account
)
self
.
assertEqual
(
trade_condition
.
getPriceCurrency
(),
"currency_module/EUR"
)
self
.
assertEqual
(
trade_condition
.
getValidationState
(),
"validated"
)
def
stepCheckSaleTradeCondition
(
self
,
sequence
=
None
,
sequence_list
=
None
,
**
kw
):
""" Check if sale trade condition is created in appropiate state """
trade_condition
=
self
.
portal
.
portal_catalog
.
getResultValue
(
portal_type
=
"Sale Trade Condition"
,
reference
=
"STC-General"
)
organisation
=
self
.
getSampleOrganisation
()
bank_account
=
self
.
getSampleBankAccount
()
business_process
=
self
.
getSampleBusinessProcess
()
self
.
assertEqual
(
trade_condition
.
getTitle
(),
"General Sale Trade Condition"
)
self
.
assertEqual
(
trade_condition
.
getSpecialiseValue
(),
business_process
)
self
.
assertEqual
(
trade_condition
.
getSourceValue
(),
organisation
)
self
.
assertEqual
(
trade_condition
.
getSourceSectionValue
(),
organisation
)
self
.
assertEqual
(
trade_condition
.
getSourceDecisionValue
(),
organisation
)
self
.
assertEqual
(
trade_condition
.
getSourceAdministrationValue
(),
organisation
)
self
.
assertEqual
(
trade_condition
.
getSourcePaymentValue
(),
bank_account
)
self
.
assertEqual
(
trade_condition
.
getPriceCurrency
(),
"currency_module/EUR"
)
self
.
assertEqual
(
trade_condition
.
getValidationState
(),
"validated"
)
### STEPS
DEFAULT_SEQUENCE_LIST
=
"""
stepSetGermanyCase
stepCreateBusinessConfiguration
stepTic
stepSetEbusinessLotseWorkflow
stepTic
stepConfiguratorNext
stepTic
stepCheckBT5ConfiguratorItem
stepCheckConfigureInstallationForm
stepSetupInstallConfiguration
stepConfiguratorNext
stepTic
stepCheckInstallConfiguration
stepStartConfigurationInstallation
stepTic
stepCheckInstanceIsConfigured%(country)s
stepCheckPerson
stepCheckOrganisation
stepCheckBankAccount
stepCheckPurchaseTradeCondition
stepCheckSaleTradeCondition
"""
def
afterSetUp
(
self
):
TestLiveConfiguratorWorkflowMixin
.
afterSetUp
(
self
)
self
.
all_username_list
=
[
"user"
]
self
.
accountant_username_list
=
self
.
all_username_list
self
.
sales_and_purchase_username_list
=
self
.
all_username_list
self
.
warehouse_username_list
=
self
.
all_username_list
self
.
simple_username_list
=
self
.
all_username_list
self
.
preference_group
=
'group/my_group'
self
.
user_list
=
[
dict
(
field_your_first_name
=
'Herr'
,
field_your_last_name
=
'Admin'
,
field_your_reference
=
'user'
,
field_your_password
=
'test'
,
field_your_password_confirm
=
'test'
,
field_your_function
=
'company'
,
field_your_default_email_text
=
'herradmin@isih-gmbh.de'
,
field_your_default_telephone_text
=
''
,
)]
def
test_ebusiness_lotse_workflow
(
self
):
""" Test the consulting workflow configuration"""
sequence_list
=
SequenceList
()
sequence_string
=
self
.
DEFAULT_SEQUENCE_LIST
%
dict
(
country
=
'Germany'
)
sequence_list
.
addSequenceString
(
sequence_string
)
sequence_list
.
play
(
self
)
import
unittest
def
test_suite
():
suite
=
unittest
.
TestSuite
()
suite
.
addTest
(
unittest
.
makeSuite
(
TestEbusinessLotseConfigurationWorkflow
))
return
suite
bt5/erp5_configurator_ebusiness_lotse/TestTemplateItem/portal_components/test.erp5.testEbusinessLotseConfigurationWorkflow.xml
0 → 100644
View file @
c83cdf36
<?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>
testEbusinessLotseConfigurationWorkflow
</string>
</value>
</item>
<item>
<key>
<string>
description
</string>
</key>
<value>
<none/>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
test.erp5.testEbusinessLotseConfigurationWorkflow
</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.patches.WorkflowTool"
/>
</pickle>
<pickle>
<tuple>
<none/>
<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>
</tuple>
</pickle>
</record>
</ZopeData>
bt5/erp5_configurator_ebusiness_lotse/bt/template_test_id_list
0 → 100644
View file @
c83cdf36
test.erp5.testEbusinessLotseConfigurationWorkflow
\ No newline at end of file
bt5/erp5_configurator_ebusiness_lotse/bt/test_dependency_list
0 → 100644
View file @
c83cdf36
erp5_full_text_myisam_catalog
\ 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