Commit 5e0bab9d authored by Ivan Tyagov's avatar Ivan Tyagov

Moved to ERP5 products and merged in r44000.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@44002 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent eb947d5b
##############################################################################
#
# Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
# Ivan Tyagov <ivan@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.
#
##############################################################################
import unittest
from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
from AccessControl.SecurityManagement import newSecurityManager
from zLOG import LOG
import transaction
class TestKM(ERP5TypeTestCase):
"""Test Knowledge Management """
website_id = 'km_test'
def getBusinessTemplateList(self):
return ('erp5_base',
'erp5_jquery',
'erp5_jquery_ui',
'erp5_knowledge_pad',
'erp5_web',
'erp5_trade',
'erp5_pdm',
'erp5_project',
'erp5_ingestion',
'erp5_dms',
'erp5_km', )
def getTitle(self):
return "Knowledge Management"
def afterSetUp(self):
self.login()
portal = self.getPortal()
self.website = self.setupWebSite(skin_selection_name='KM',
container_layout='erp5_km_minimal_layout',
content_layout='erp5_km_minimal_content_layout',
custom_render_method_id='WebSite_viewKnowledgePad',
layout_configuration_form_id='WebSection_viewKMMinimalThemeConfiguration')
self.websection = self.website.newContent(portal_type='Web Section')
def setupWebSite(self, **kw):
"""
Setup Web Site
"""
portal = self.getPortal()
# create website
if hasattr(portal.web_site_module, self.website_id):
portal.web_site_module.manage_delObjects(self.website_id)
website = portal.web_site_module.newContent(portal_type = 'Web Site',
id = self.website_id,
**kw)
transaction.commit()
self.tic()
return website
def login(self):
uf = self.getPortal().acl_users
uf._doAddUser('ivan', '', ['Manager'], [])
uf._doAddUser('ERP5TypeTestCase', '', ['Manager'], [])
user = uf.getUserById('ivan').__of__(uf)
newSecurityManager(None, user)
def changeSkin(self, skin_name):
"""
Change current Skin
"""
request = self.app.REQUEST
self.getPortal().portal_skins.changeSkin(skin_name)
request.set('portal_skin', skin_name)
def test_01_AssignedMembersToProject(self):
""" Test assigned members to a project. Project is defined in a Web Section """
portal = self.getPortal()
websection = self.websection
# change to KM skins which is defined in erp5_km
self.changeSkin('KM')
assigned_member_list = websection.WebSection_searchAssignmentList(portal_type='Assignment')
self.assertEquals(0, len(websection.WebSection_searchAssignmentList(portal_type='Assignment')))
project = portal.project_module.newContent(portal_type='Project', \
id='test_project')
another_project = portal.project_module.newContent(portal_type='Project', \
id='another_project')
# set websection to this project
websection.edit(membership_criterion_base_category = ['destination_project'],
membership_criterion_category=['destination_project/%s' \
%project.getRelativeUrl()])
# create person and assigned it to this project
person = portal.person_module.newContent(portal_type='Person')
assignment = person.newContent(portal_type= 'Assignment',
destination_project = project.getRelativeUrl())
another_assignment = person.newContent(portal_type= 'Assignment',
destination_project = another_project.getRelativeUrl())
assignment.open()
self.stepTic()
self.changeSkin('KM')
self.assertEquals(1,\
len( websection.WebSection_searchAssignmentList(portal_type='Assignment')))
self.assertEquals(1,\
len( websection.WebSection_countAssignmentList(portal_type='Assignment')))
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestKM))
return suite
This diff is collapsed.
1769 1772
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment