2014-01-28 09:39:32 -04:00
@ProcessMakerMichelangelo @RestAPI
Feature : Case Tracker Main Tests
R e q u i r e m e n t s :
a w o r k s p a c e w i t h t h e p r o c e s s 50259961452 d 82 b f 57 f 4 f 62051572528 ( " S a m p l e P r o j e c t # 4 ( C a s e T r a c k e r ) " ) a l r e a d y l o a d e d
t h e r e a r e o n e O u t p u t D o c u m e n t s i n t h e p r o c e s s a n d o n e I n p u t D o c u m e n t
Background :
Given t h a t I h a v e a v a l i d a c c e s s _ t o k e n
Scenario : Get Case Tracker data of a Project
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / p r o p e r t y "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " o b j e c t "
Scenario Outline : Update Case Tracker data of a Project and then check if the values has changed
Given P U T t h i s d a t a :
"""
{
" m a p _ t y p e " : " <map_type> " ,
" r o u t i n g _ h i s t o r y " : <routing_history> ,
" m e s s a g e _ h i s t o r y " : <message_history>
}
"""
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / p r o p e r t y "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " o b j e c t "
Examples :
| t e s t _ d e s c r i p t i o n | m a p _ t y p e | r o u t i n g _ h i s t o r y | m e s s a g e _ h i s t o r y |
2014-01-28 15:11:34 -04:00
| U p d a t e m a p _ t y p e = S T A G E , R o u t i n g = t r u e , m e s s a g e = t r u e | S T A G E S | 1 | 1 |
| U p d a t e m a p _ t y p e = S T A G E , R o u t i n g = f a l s e , m e s s a g e = f a l s e | S T A G E S | 0 | 0 |
| U p d a t e m a p _ t y p e = S T A G E , R o u t i n g = t r u e , m e s s a g e = f a l s e | S T A G E S | 1 | 0 |
| U p d a t e m a p _ t y p e = S T A G E , R o u t i n g = f a l s e , m e s s a g e = t r u e | S T A G E S | 0 | 1 |
| U p d a t e m a p _ t y p e = N O N E , R o u t i n g = y e s , m e s s a g e = t r u e | S T A G E S | 1 | 1 |
| U p d a t e m a p _ t y p e = P R O C E S S M A P , R o u t i n g = f a l s e , m e s s a g e = t r u e | P R O C E S S M A P | 0 | 1 |
| U p d a t e m a p _ t y p e = P R O C E S S M A P , R o u t i n g = f a l s e , m e s s a g e = f a l s e | P R O C E S S M A P | 0 | 0 |
| U p d a t e m a p _ t y p e = P R O C E S S M A P , R o u t i n g = t r u e , m e s s a g e = f a l s e | P R O C E S S M A P | 1 | 0 |
| U p d a t e m a p _ t y p e = P R O C E S S M A P , R o u t i n g = t r u e , m e s s a g e = t r u e | P R O C E S S M A P | 1 | 1 |
2014-01-28 09:39:32 -04:00
Scenario : Get Case Tracker data of a Project
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / p r o p e r t y "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " o b j e c t "
And t h a t " m a p _ t y p e " i s s e t t o " P R O C E S S M A P "
And t h a t " r o u t i n g _ h i s t o r y " i s s e t t o " t r u e "
And t h a t " m e s s a g e _ h i s t o r y " i s s e t t o " t r u e "
Scenario : Get the Case Trackers Objects of a Project when there are exactly zero objects
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / o b j e c t s "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " a r r a y "
And t h e j s o n d a t a i s a n e m p t y a r r a y
Scenario : Get list available Case Tracker Objects of a Project when there are exactly 3 objects (one dynaform, one input document and 1 output document)
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / a v a i l a b l e - o b j e c t s "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " a r r a y "
And t h e r e s p o n s e h a s 3 r e c o r d s
Scenario Outline : Assigning objects to process case tracker
Given P O S T t h i s d a t a :
"""
{
" c t o _ t y p e _ o b j " : " <cto_type_obj> " ,
" c t o _ u i d _ o b j " : " <cto_uid_obj> " ,
" c t o _ c o n d i t i o n " : " <cto_condition> " ,
" c t o _ p o s i t i o n " : <cto_position>
}
"""
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / o b j e c t "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 201
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " o b j e c t "
And s t o r e " c t o _ u i d " i n s e s s i o n a r r a y a s v a r i a b l e " c t o _ u i d <i> "
Examples :
| t e s t _ d e s c r i p t i o n | i | c t o _ t y p e _ o b j | c t o _ u i d _ o b j | c t o _ c o n d i t i o n | c t o _ p o s i t i o n |
2014-04-11 16:57:56 -04:00
| A s s i g n d y n a f o r m | 1 | D Y N A F O R M | 1 4 7 6 1 7 5 2 6 5 2 d 8 2 c 5 9 2 f c 1 8 0 0 2 0 0 7 6 8 5 1 | | 1 |
| A s s i g n I n p u t D o c u m e n t | 2 | I N P U T _ D O C U M E N T | 8 7 2 3 6 5 3 4 0 5 2 d 8 2 c 6 d 8 c 6 7 d 1 0 0 1 8 9 5 3 7 7 | | 2 |
| A s s i g n O u t p u t D o c u m e n t | 3 | O U T P U T _ D O C U M E N T | 7 6 2 4 7 3 5 4 0 5 2 d 8 2 c a 9 d 0 4 5 0 9 0 4 3 7 8 9 2 3 4 | | 3 |
2014-01-28 09:39:32 -04:00
Scenario : Get list available Case Tracker Objects of a Project when there are exactly 0 objects
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / a v a i l a b l e - o b j e c t s "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " a r r a y "
And t h e r e s p o n s e h a s 0 r e c o r d s
Scenario Outline : Update a Case Tracker object of a Project and then check if the values has changed
Given P U T t h i s d a t a :
"""
{
" c t o _ c o n d i t i o n " : " <cto_condition> "
}
"""
And t h a t I w a n t t o u p d a t e a r e s o u r c e w i t h t h e k e y " c t o _ u i d " s t o r e d i n s e s s i o n a r r a y a s v a r i a b l e " c t o _ u i d <i> "
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / o b j e c t "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " o b j e c t "
Examples :
| t e s t _ d e s c r i p t i o n | i | c t o _ c o n d i t i o n |
2014-04-11 16:57:56 -04:00
| U p d a t e d y n a f o r m , f i e l d c t o _ c o n d i t i o n | 1 | @ @ Y E A R = = 2 0 1 1 |
| U p d a t e i n p u t d o c u m e n t , f i e l d c t o _ c o n d i t i o n | 2 | @ @ Y E A R = = 2 0 1 2 |
| U p d a t e o u t p u t d o c u m e n t , f i e l d c t o _ c o n d i t i o n | 3 | @ @ Y E A R = = 2 0 1 3 |
2014-01-28 09:39:32 -04:00
Scenario Outline : Get a single Case Tracker Object of a Project to verify the update
Given t h a t I w a n t t o g e t a r e s o u r c e w i t h t h e k e y " c t o _ u i d " s t o r e d i n s e s s i o n a r r a y a s v a r i a b l e " c t o _ u i d <i> "
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / o b j e c t "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " o b j e c t "
And t h a t " c t o _ t y p e _ o b j " i s s e t t o " <cto_type_obj> "
And t h a t " c t o _ u i d _ o b j " i s s e t t o " <cto_uid_obj> "
And t h a t " c t o _ c o n d i t i o n " i s s e t t o " <cto_condition> "
And t h a t " c t o _ p o s i t i o n " i s s e t t o " <cto_position> "
And t h a t " o b j _ t i t l e " i s s e t t o " <obj_title> "
And t h a t " o b j _ d e s c r i p t i o n " i s s e t t o " <obj_description> "
Examples :
| i | c t o _ t y p e _ o b j | c t o _ u i d _ o b j | c t o _ c o n d i t i o n | c t o _ p o s i t i o n | o b j _ t i t l e | o b j _ d e s c r i p t i o n |
2014-04-11 16:57:56 -04:00
| 1 | D Y N A F O R M | 1 4 7 6 1 7 5 2 6 5 2 d 8 2 c 5 9 2 f c 1 8 0 0 2 0 0 7 6 8 5 1 | @ @ Y E A R = = 2 0 1 1 | 1 | D y n a F o r m D e m o | D e s c r i p t i o n |
| 2 | I N P U T _ D O C U M E N T | 8 7 2 3 6 5 3 4 0 5 2 d 8 2 c 6 d 8 c 6 7 d 1 0 0 1 8 9 5 3 7 7 | @ @ Y E A R = = 2 0 1 2 | 2 | I n p u t D o c u m e n t D e m o | D e s c r i p t i o n |
| 3 | O U T P U T _ D O C U M E N T | 7 6 2 4 7 3 5 4 0 5 2 d 8 2 c a 9 d 0 4 5 0 9 0 4 3 7 8 9 2 3 4 | @ @ Y E A R = = 2 0 1 3 | 3 | O u t p u t D o c u m e n t D e m o | D e s c r i p t i o n |
2014-01-28 09:39:32 -04:00
Scenario : Get the Case Trackers Objects of a Project when there are exactly three objects
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / o b j e c t s "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " a r r a y "
And t h e r e s p o n s e h a s 3 r e c o r d s
Scenario Outline : Delete all Case Tracker Objects of a Project created previously in this script
Given t h a t I w a n t t o d e l e t e a r e s o u r c e w i t h t h e k e y " c t o _ u i d " s t o r e d i n s e s s i o n a r r a y a s v a r i a b l e " c t o _ u i d <i> "
And I r e q u e s t " p r o j e c t / 5 0 2 5 9 9 6 1 4 5 2 d 8 2 b f 5 7 f 4 f 6 2 0 5 1 5 7 2 5 2 8 / c a s e - t r a c k e r / o b j e c t "
And t h e c o n t e n t t y p e i s " a p p l i c a t i o n / j s o n "
Then t h e r e s p o n s e s t a t u s c o d e s h o u l d b e 200
And t h e r e s p o n s e c h a r s e t i s " U T F - 8 "
And t h e t y p e i s " o b j e c t "
Examples :
| i |
| 1 |
| 2 |
2014-04-11 16:57:56 -04:00
| 3 |
2014-01-28 09:39:32 -04:00