Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
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
1
Merge Requests
1
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
Romain Courteaud
slapos.core
Commits
b55f7750
Commit
b55f7750
authored
Sep 29, 2023
by
Romain Courteaud
🐙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_crm: test RegularisationRequest_invalidateIfPersonBalanceIsOk
parent
f83baeac
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
69 deletions
+49
-69
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/RegularisationRequest_invalidateIfPersonBalanceIsOk.py
...rm/RegularisationRequest_invalidateIfPersonBalanceIsOk.py
+2
-11
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMAlarm.py
...ateItem/portal_components/test.erp5.testSlapOSCRMAlarm.py
+47
-2
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMRegularisationRequestSkins.py
...ents/test.erp5.testSlapOSCRMRegularisationRequestSkins.py
+0
-56
No files found.
master/bt5/slapos_crm/SkinTemplateItem/portal_skins/slapos_crm/RegularisationRequest_invalidateIfPersonBalanceIsOk.py
View file @
b55f7750
...
...
@@ -8,14 +8,5 @@ if (state not in ('suspended', 'validated')) or \
(
person
is
None
):
return
outstanding_amount
=
person
.
Entity_statSlapOSOutstandingAmount
()
# It can't be smaller, we are considernig all open invoices are from unpaid_payment_amount
if
round
(
float
(
outstanding_amount
),
2
)
==
round
(
float
(
0
),
2
):
context
.
invalidate
(
comment
=
"Automatically disabled as balance is %s"
%
outstanding_amount
)
return
if
(
int
(
outstanding_amount
)
>
0
):
return
context
.
invalidate
(
comment
=
"Automatically disabled as balance is %s"
%
outstanding_amount
)
if
not
person
.
Entity_hasOutstandingAmount
():
context
.
invalidate
(
comment
=
"Automatically disabled as balance is ok"
)
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMAlarm.py
View file @
b55f7750
...
...
@@ -360,8 +360,6 @@ The slapos team
REQUEST
=
{})
class
TestSlapOSCrmInvalidateSuspendedRegularisationRequest
(
SlapOSTestCaseMixinWithAbort
):
def
createRegularisationRequest
(
self
):
new_id
=
self
.
generateNewId
()
return
self
.
portal
.
regularisation_request_module
.
newContent
(
...
...
@@ -399,6 +397,53 @@ class TestSlapOSCrmInvalidateSuspendedRegularisationRequest(SlapOSTestCaseMixinW
slapos_crm_invalidate_suspended_regularisation_request
self
.
_test_alarm_not_visited
(
alarm
,
ticket
,
"RegularisationRequest_invalidateIfPersonBalanceIsOk"
)
def
test_RegularisationRequest_invalidateIfPersonBalanceIsOk_script_REQUESTdisallowed
(
self
):
ticket
=
self
.
createRegularisationRequest
()
self
.
assertRaises
(
Unauthorized
,
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
,
REQUEST
=
{})
@
simulate
(
'Entity_hasOutstandingAmount'
,
'*args, **kwargs'
,
'return False'
)
def
test_RegularisationRequest_invalidateIfPersonBalanceIsOk_script_matchingCase
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
index
=
0
,
user
=
0
)
ticket
=
self
.
createRegularisationRequest
()
ticket
.
edit
(
destination_decision_value
=
person
)
ticket
.
validate
()
ticket
.
suspend
()
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
()
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'invalidated'
)
@
simulate
(
'Entity_hasOutstandingAmount'
,
'*args, **kwargs'
,
'return False'
)
def
test_RegularisationRequest_invalidateIfPersonBalanceIsOk_script_validated
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
index
=
0
,
user
=
0
)
ticket
=
self
.
createRegularisationRequest
()
ticket
.
edit
(
destination_decision_value
=
person
)
ticket
.
validate
()
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
()
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'invalidated'
)
@
simulate
(
'Entity_hasOutstandingAmount'
,
'*args, **kwargs'
,
'return False'
)
def
test_RegularisationRequest_invalidateIfPersonBalanceIsOk_script_noPerson
(
self
):
ticket
=
self
.
createRegularisationRequest
()
ticket
.
validate
()
ticket
.
suspend
()
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
()
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'suspended'
)
@
simulate
(
'Entity_hasOutstandingAmount'
,
'*args, **kwargs'
,
'return True'
)
def
test_RegularisationRequest_invalidateIfPersonBalanceIsOk_script_wrongBalance
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
index
=
0
,
user
=
0
)
ticket
=
self
.
createRegularisationRequest
()
ticket
.
edit
(
destination_decision_value
=
person
)
ticket
.
validate
()
ticket
.
suspend
()
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
()
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'suspended'
)
class
TestSlapOSCrmTriggerEscalationOnAcknowledgmentRegularisationRequest
(
SlapOSTestCaseMixinWithAbort
):
...
...
master/bt5/slapos_crm/TestTemplateItem/portal_components/test.erp5.testSlapOSCRMRegularisationRequestSkins.py
View file @
b55f7750
...
...
@@ -28,63 +28,7 @@ from zExceptions import Unauthorized
from
DateTime
import
DateTime
class
TestSlapOSRegularisationRequest_invalidateIfPersonBalanceIsOk
(
SlapOSTestCaseMixinWithAbort
):
def
createRegularisationRequest
(
self
):
new_id
=
self
.
generateNewId
()
return
self
.
portal
.
regularisation_request_module
.
newContent
(
portal_type
=
'Regularisation Request'
,
title
=
"Test Reg. Req.%s"
%
new_id
,
reference
=
"TESTREGREQ-%s"
%
new_id
,
)
def
test_invalidateIfPersonBalanceIsOk_REQUEST_disallowed
(
self
):
ticket
=
self
.
createRegularisationRequest
()
self
.
assertRaises
(
Unauthorized
,
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
,
REQUEST
=
{})
@
simulate
(
'Entity_statOutstandingAmount'
,
'*args, **kwargs'
,
'return "0"'
)
def
test_invalidateIfPersonBalanceIsOk_matching_case
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
index
=
0
,
user
=
0
)
ticket
=
self
.
createRegularisationRequest
()
ticket
.
edit
(
source_project_value
=
person
)
ticket
.
validate
()
ticket
.
suspend
()
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
()
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'invalidated'
)
@
simulate
(
'Entity_statOutstandingAmount'
,
'*args, **kwargs'
,
'return "0"'
)
def
test_invalidateIfPersonBalanceIsOk_validated
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
index
=
0
,
user
=
0
)
ticket
=
self
.
createRegularisationRequest
()
ticket
.
edit
(
source_project_value
=
person
)
ticket
.
validate
()
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
()
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'invalidated'
)
@
simulate
(
'Entity_statOutstandingAmount'
,
'*args, **kwargs'
,
'return "0"'
)
def
test_invalidateIfPersonBalanceIsOk_no_person
(
self
):
ticket
=
self
.
createRegularisationRequest
()
ticket
.
validate
()
ticket
.
suspend
()
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
()
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'suspended'
)
@
simulate
(
'Entity_statOutstandingAmount'
,
'*args, **kwargs'
,
'return "1"'
)
def
test_invalidateIfPersonBalanceIsOk_wrong_balance
(
self
):
project
=
self
.
addProject
()
person
=
self
.
makePerson
(
project
,
index
=
0
,
user
=
0
)
ticket
=
self
.
createRegularisationRequest
()
ticket
.
edit
(
source_project_value
=
person
)
ticket
.
validate
()
ticket
.
suspend
()
ticket
.
RegularisationRequest_invalidateIfPersonBalanceIsOk
()
self
.
assertEqual
(
ticket
.
getSimulationState
(),
'suspended'
)
class
TestSlapOSRegularisationRequest_checkToSendUniqEvent
(
SlapOSTestCaseMixin
):
...
...
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