@ -7,7 +7,7 @@ Feature: conversation/breakout-rooms
Scenario : Teacher creates manual breakout rooms
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 3 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
@ -24,26 +24,26 @@ Feature: conversation/breakout-rooms
| u s e r s : : p a r t i c i p a n t 4 | 2 |
Then u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 1 |
| 3 | R o o m 2 |
| 3 | R o o m 3 |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
| 2 | R o o m 2 |
| 2 | R o o m 3 |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 1 |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
Then u s e r " p a r t i c i p a n t 3 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 2 |
| 2 | c l a s s r o o m |
| 2 | R o o m 2 |
Then u s e r " p a r t i c i p a n t 4 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 3 |
| 2 | c l a s s r o o m |
| 2 | R o o m 3 |
Scenario : Teacher creates automatic breakout rooms
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 3 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
@ -57,10 +57,10 @@ Feature: conversation/breakout-rooms
When u s e r " p a r t i c i p a n t 1 " c r e a t e s 3 a u t o m a t i c b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 1 |
| 3 | R o o m 2 |
| 3 | R o o m 3 |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
| 2 | R o o m 2 |
| 2 | R o o m 3 |
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " R o o m 1 " w i t h 200 ( v 4 )
| a c t o r T y p e | a c t o r I d | p a r t i c i p a n t T y p e |
| u s e r s | p a r t i c i p a n t 1 | 1 |
@ -75,20 +75,20 @@ Feature: conversation/breakout-rooms
| u s e r s | / ^ p a r t i c i p a n t \ d $ / | 3 |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | / ^ R o o m \ d $ / |
| 2 | c l a s s r o o m |
| 2 | / ^ R o o m \ d $ / |
Then u s e r " p a r t i c i p a n t 3 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | / ^ R o o m \ d $ / |
| 2 | c l a s s r o o m |
| 2 | / ^ R o o m \ d $ / |
Then u s e r " p a r t i c i p a n t 4 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | / ^ R o o m \ d $ / |
| 2 | c l a s s r o o m |
| 2 | / ^ R o o m \ d $ / |
Scenario : Co-teachers are promoted and removed in all breakout rooms
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
@ -99,21 +99,21 @@ Feature: conversation/breakout-rooms
| u s e r s : : p a r t i c i p a n t 2 | 0 |
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 1 |
| 3 | R o o m 2 |
| 3 | R o o m 3 |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
| 2 | R o o m 2 |
| 2 | R o o m 3 |
And u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 1 |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
When u s e r " p a r t i c i p a n t 1 " p r o m o t e s " p a r t i c i p a n t 2 " i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 1 |
| 3 | R o o m 2 |
| 3 | R o o m 3 |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
| 2 | R o o m 2 |
| 2 | R o o m 3 |
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " R o o m 1 " w i t h 200 ( v 4 )
| a c t o r T y p e | a c t o r I d | p a r t i c i p a n t T y p e |
| u s e r s | p a r t i c i p a n t 1 | 1 |
@ -129,7 +129,7 @@ Feature: conversation/breakout-rooms
When u s e r " p a r t i c i p a n t 1 " d e m o t e s " p a r t i c i p a n t 2 " i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 2 | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " R o o m 1 " w i t h 200 ( v 4 )
| a c t o r T y p e | a c t o r I d | p a r t i c i p a n t T y p e |
| u s e r s | p a r t i c i p a n t 1 | 1 |
@ -142,15 +142,15 @@ Feature: conversation/breakout-rooms
Scenario : Can not nest breakout rooms
When u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " c r e a t e s 3 m a n u a l b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 1 |
| 3 | R o o m 2 |
| 3 | R o o m 3 |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
| 2 | R o o m 2 |
| 2 | R o o m 3 |
And u s e r " p a r t i c i p a n t 1 " c r e a t e s 3 m a n u a l b r e a k o u t r o o m s f o r " R o o m 1 " w i t h 400 ( v 1 )
Scenario : Can not create breakout rooms in one-to-one
@ -161,19 +161,19 @@ Feature: conversation/breakout-rooms
Scenario : Can not create more than 20 breakout rooms
When u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " c r e a t e s 21 m a n u a l b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 400 ( v 1 )
Scenario : Can not create less than 1 breakout rooms
When u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " c r e a t e s 0 m a n u a l b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 400 ( v 1 )
Scenario : Invalid breakout room number in attendee map (low)
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
@ -185,7 +185,7 @@ Feature: conversation/breakout-rooms
Scenario : Invalid breakout room number in attendee map (high)
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
@ -197,7 +197,7 @@ Feature: conversation/breakout-rooms
Scenario : Breakout rooms are disabled
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
@ -211,7 +211,7 @@ Feature: conversation/breakout-rooms
Scenario : Broadcast chat message to all breakout room
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| a c t o r T y p e | a c t o r I d | p a r t i c i p a n t T y p e |
@ -219,10 +219,10 @@ Feature: conversation/breakout-rooms
When u s e r " p a r t i c i p a n t 1 " c r e a t e s 3 m a n u a l b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 3 | c l a s s r o o m |
| 3 | R o o m 1 |
| 3 | R o o m 2 |
| 3 | R o o m 3 |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
| 2 | R o o m 2 |
| 2 | R o o m 3 |
And u s e r " p a r t i c i p a n t 1 " b r o a d c a s t s m e s s a g e " H e l l o r o o m s 1 - 3 " t o r o o m " c l a s s r o o m " w i t h 201 ( v 1 )
Then u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g m e s s a g e s i n r o o m " R o o m 1 " w i t h 200
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | m e s s a g e | m e s s a g e P a r a m e t e r s |
@ -236,20 +236,20 @@ Feature: conversation/breakout-rooms
Scenario : Can not broadcast chat message in a non-breakout room
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " b r o a d c a s t s m e s s a g e " D o e s n o t w o r k " t o r o o m " r o o m " w i t h 400 ( v 1 )
Scenario : Can not start in a non-breakout room
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | r o o m |
And u s e r " p a r t i c i p a n t 1 " s t a r t s b r e a k o u t r o o m s i n r o o m " r o o m " w i t h 400 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " s t o p s b r e a k o u t r o o m s i n r o o m " r o o m " w i t h 400 ( v 1 )
Scenario : Moderator starts and stops breakout rooms
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 3 |
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| a c t o r T y p e | a c t o r I d | p a r t i c i p a n t T y p e |
@ -257,10 +257,10 @@ Feature: conversation/breakout-rooms
When u s e r " p a r t i c i p a n t 1 " c r e a t e s 3 m a n u a l b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 3 | c l a s s r o o m | 0 | 2 | 0 |
| 3 | R o o m 1 | 1 | 0 | 0 |
| 3 | R o o m 2 | 1 | 0 | 0 |
| 3 | R o o m 3 | 1 | 0 | 0 |
| 2 | c l a s s r o o m | 0 | 2 | 0 |
| 2 | R o o m 1 | 1 | 0 | 0 |
| 2 | R o o m 2 | 1 | 0 | 0 |
| 2 | R o o m 3 | 1 | 0 | 0 |
Then u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g s y s t e m m e s s a g e s i n r o o m " R o o m 1 " w i t h 200
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | s y s t e m M e s s a g e |
| R o o m 1 | u s e r s | p a r t i c i p a n t 1 | p a r t i c i p a n t 1 - d i s p l a y n a m e | c o n v e r s a t i o n _ c r e a t e d |
@ -273,10 +273,10 @@ Feature: conversation/breakout-rooms
And u s e r " p a r t i c i p a n t 1 " s t a r t s b r e a k o u t r o o m s i n r o o m " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 3 | c l a s s r o o m | 0 | 2 | 1 |
| 3 | R o o m 1 | 0 | 0 | 0 |
| 3 | R o o m 2 | 0 | 0 | 0 |
| 3 | R o o m 3 | 0 | 0 | 0 |
| 2 | c l a s s r o o m | 0 | 2 | 1 |
| 2 | R o o m 1 | 0 | 0 | 0 |
| 2 | R o o m 2 | 0 | 0 | 0 |
| 2 | R o o m 3 | 0 | 0 | 0 |
Then u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g s y s t e m m e s s a g e s i n r o o m " R o o m 1 " w i t h 200
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | s y s t e m M e s s a g e |
| R o o m 1 | u s e r s | p a r t i c i p a n t 1 | p a r t i c i p a n t 1 - d i s p l a y n a m e | b r e a k o u t _ r o o m s _ s t a r t e d |
@ -292,10 +292,10 @@ Feature: conversation/breakout-rooms
And u s e r " p a r t i c i p a n t 1 " s t o p s b r e a k o u t r o o m s i n r o o m " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 3 | c l a s s r o o m | 0 | 2 | 0 |
| 3 | R o o m 1 | 1 | 0 | 0 |
| 3 | R o o m 2 | 1 | 0 | 0 |
| 3 | R o o m 3 | 1 | 0 | 0 |
| 2 | c l a s s r o o m | 0 | 2 | 0 |
| 2 | R o o m 1 | 1 | 0 | 0 |
| 2 | R o o m 2 | 1 | 0 | 0 |
| 2 | R o o m 3 | 1 | 0 | 0 |
Then u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g s y s t e m m e s s a g e s i n r o o m " R o o m 1 " w i t h 200
| r o o m | a c t o r T y p e | a c t o r I d | a c t o r D i s p l a y N a m e | s y s t e m M e s s a g e |
| R o o m 1 | u s e r s | p a r t i c i p a n t 1 | p a r t i c i p a n t 1 - d i s p l a y n a m e | b r e a k o u t _ r o o m s _ s t o p p e d |
@ -311,3 +311,184 @@ Feature: conversation/breakout-rooms
| R o o m 3 | u s e r s | p a r t i c i p a n t 1 | p a r t i c i p a n t 1 - d i s p l a y n a m e | b r e a k o u t _ r o o m s _ s t o p p e d |
| R o o m 3 | u s e r s | p a r t i c i p a n t 1 | p a r t i c i p a n t 1 - d i s p l a y n a m e | b r e a k o u t _ r o o m s _ s t a r t e d |
| R o o m 3 | u s e r s | p a r t i c i p a n t 1 | p a r t i c i p a n t 1 - d i s p l a y n a m e | c o n v e r s a t i o n _ c r e a t e d |
Scenario : Request assistance and cancel it
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| a c t o r T y p e | a c t o r I d | p a r t i c i p a n t T y p e |
| u s e r s | p a r t i c i p a n t 1 | 1 |
| u s e r s | p a r t i c i p a n t 2 | 3 |
When u s e r " p a r t i c i p a n t 1 " c r e a t e s 1 a u t o m a t i c b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 1 | 0 |
| 2 | R o o m 1 | 1 | 0 | 0 |
And u s e r " p a r t i c i p a n t 1 " s t a r t s b r e a k o u t r o o m s i n r o o m " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 1 | 1 |
| 2 | R o o m 1 | 0 | 0 | 0 |
And u s e r " p a r t i c i p a n t 2 " r e q u e s t s a s s i s t a n c e i n r o o m " R o o m 1 " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 1 | 1 |
| 2 | R o o m 1 | 0 | 0 | 2 |
And u s e r " p a r t i c i p a n t 2 " c a n c e l s r e q u e s t f o r a s s i s t a n c e i n r o o m " R o o m 1 " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 1 | 1 |
| 2 | R o o m 1 | 0 | 0 | 0 |
And u s e r " p a r t i c i p a n t 2 " r e q u e s t s a s s i s t a n c e i n r o o m " R o o m 1 " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 1 | 1 |
| 2 | R o o m 1 | 0 | 0 | 2 |
And u s e r " p a r t i c i p a n t 1 " c a n c e l s r e q u e s t f o r a s s i s t a n c e i n r o o m " R o o m 1 " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 1 | 1 |
| 2 | R o o m 1 | 0 | 0 | 0 |
Scenario : Teacher creates free breakout rooms
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " c r e a t e s 2 f r e e b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 3 | 0 |
| 2 | R o o m 1 | 1 | 0 | 0 |
| 2 | R o o m 2 | 1 | 0 | 0 |
Then u s e r " p a r t i c i p a n t 2 " s e e s t h e f o l l o w i n g b r e a k o u t r o o m s f o r r o o m " c l a s s r o o m " w i t h 404 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
Then u s e r " p a r t i c i p a n t 2 " s e e s t h e f o l l o w i n g b r e a k o u t r o o m s f o r r o o m " c l a s s r o o m " w i t h 400 ( v 4 )
Then u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g b r e a k o u t r o o m s f o r r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | R o o m 1 | 1 | 0 | 0 |
| 2 | R o o m 2 | 1 | 0 | 0 |
And u s e r " p a r t i c i p a n t 1 " s t a r t s b r e a k o u t r o o m s i n r o o m " c l a s s r o o m " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " s e e s t h e f o l l o w i n g b r e a k o u t r o o m s f o r r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | R o o m 1 | 0 | 0 | 0 |
| 2 | R o o m 2 | 0 | 0 | 0 |
Scenario : Student can only get their own breakout room when non-free
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| a c t o r T y p e | a c t o r I d | p a r t i c i p a n t T y p e |
| u s e r s | p a r t i c i p a n t 1 | 1 |
| u s e r s | p a r t i c i p a n t 2 | 3 |
When u s e r " p a r t i c i p a n t 1 " c r e a t e s 3 m a n u a l b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
| u s e r s : : p a r t i c i p a n t 2 | 0 |
Then u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
| 2 | R o o m 2 |
| 2 | R o o m 3 |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
Then u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g b r e a k o u t r o o m s f o r r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | R o o m 1 | 1 | 0 | 0 |
| 2 | R o o m 2 | 1 | 0 | 0 |
| 2 | R o o m 3 | 1 | 0 | 0 |
Then u s e r " p a r t i c i p a n t 2 " s e e s t h e f o l l o w i n g b r e a k o u t r o o m s f o r r o o m " c l a s s r o o m " w i t h 400 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s t a r t s b r e a k o u t r o o m s i n r o o m " c l a s s r o o m " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " s e e s t h e f o l l o w i n g b r e a k o u t r o o m s f o r r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | R o o m 1 | 0 | 0 | 0 |
Scenario : Teachers can not "switch" breakout rooms as they are in all of them
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " c r e a t e s 2 f r e e b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 3 | 0 |
| 2 | R o o m 1 | 1 | 0 | 0 |
| 2 | R o o m 2 | 1 | 0 | 0 |
And u s e r " p a r t i c i p a n t 1 " s t a r t s b r e a k o u t r o o m s i n r o o m " c l a s s r o o m " w i t h 200 ( v 1 )
When u s e r " p a r t i c i p a n t 1 " s w i t c h e s i n r o o m " c l a s s r o o m " t o b r e a k o u t r o o m " R o o m 1 " w i t h 400 ( v 1 )
Scenario : Student switching breakout room in free selection
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " c r e a t e s 2 f r e e b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 3 | 0 |
| 2 | R o o m 1 | 1 | 0 | 0 |
| 2 | R o o m 2 | 1 | 0 | 0 |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 2 | c l a s s r o o m |
When u s e r " p a r t i c i p a n t 2 " s w i t c h e s i n r o o m " c l a s s r o o m " t o b r e a k o u t r o o m " R o o m 1 " w i t h 400 ( v 1 )
And u s e r " p a r t i c i p a n t 1 " s t a r t s b r e a k o u t r o o m s i n r o o m " c l a s s r o o m " w i t h 200 ( v 1 )
When u s e r " p a r t i c i p a n t 2 " s w i t c h e s i n r o o m " c l a s s r o o m " t o b r e a k o u t r o o m " R o o m 1 " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
When u s e r " p a r t i c i p a n t 2 " s w i t c h e s i n r o o m " c l a s s r o o m " t o b r e a k o u t r o o m " R o o m 2 " w i t h 200 ( v 1 )
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 2 | c l a s s r o o m |
| 2 | R o o m 2 |
Scenario : Student can not switch on manual breakout rooms
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| a c t o r T y p e | a c t o r I d | p a r t i c i p a n t T y p e |
| u s e r s | p a r t i c i p a n t 1 | 1 |
| u s e r s | p a r t i c i p a n t 2 | 3 |
And u s e r " p a r t i c i p a n t 1 " c r e a t e s 2 m a n u a l b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
| u s e r s : : p a r t i c i p a n t 2 | 0 |
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 2 | 0 |
| 2 | R o o m 1 | 1 | 0 | 0 |
| 2 | R o o m 2 | 1 | 0 | 0 |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
And u s e r " p a r t i c i p a n t 1 " s t a r t s b r e a k o u t r o o m s i n r o o m " c l a s s r o o m " w i t h 200 ( v 1 )
When u s e r " p a r t i c i p a n t 2 " s w i t c h e s i n r o o m " c l a s s r o o m " t o b r e a k o u t r o o m " R o o m 1 " w i t h 400 ( v 1 )
Scenario : Student can not switch on automatic breakout rooms
Given u s e r " p a r t i c i p a n t 1 " c r e a t e s r o o m " c l a s s r o o m " ( v 4 )
| r o o m T y p e | 2 |
| r o o m N a m e | c l a s s r o o m |
And u s e r " p a r t i c i p a n t 1 " a d d s u s e r " p a r t i c i p a n t 2 " t o r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
And u s e r " p a r t i c i p a n t 1 " s e e s t h e f o l l o w i n g a t t e n d e e s i n r o o m " c l a s s r o o m " w i t h 200 ( v 4 )
| a c t o r T y p e | a c t o r I d | p a r t i c i p a n t T y p e |
| u s e r s | p a r t i c i p a n t 1 | 1 |
| u s e r s | p a r t i c i p a n t 2 | 3 |
And u s e r " p a r t i c i p a n t 1 " c r e a t e s 2 a u t o m a t i c b r e a k o u t r o o m s f o r " c l a s s r o o m " w i t h 200 ( v 1 )
| u s e r s : : p a r t i c i p a n t 2 | 0 |
And u s e r " p a r t i c i p a n t 1 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e | l o b b y S t a t e | b r e a k o u t R o o m M o d e | b r e a k o u t R o o m S t a t u s |
| 2 | c l a s s r o o m | 0 | 1 | 0 |
| 2 | R o o m 1 | 1 | 0 | 0 |
| 2 | R o o m 2 | 1 | 0 | 0 |
Then u s e r " p a r t i c i p a n t 2 " i s p a r t i c i p a n t o f t h e f o l l o w i n g r o o m s ( v 4 )
| t y p e | n a m e |
| 2 | c l a s s r o o m |
| 2 | R o o m 1 |
And u s e r " p a r t i c i p a n t 1 " s t a r t s b r e a k o u t r o o m s i n r o o m " c l a s s r o o m " w i t h 200 ( v 1 )
When u s e r " p a r t i c i p a n t 2 " s w i t c h e s i n r o o m " c l a s s r o o m " t o b r e a k o u t r o o m " R o o m 1 " w i t h 400 ( v 1 )