@@ -16,6 +16,7 @@ const event1Data = eventData[0];
16
16
const userData = require ( "../fixtures/user/user" ) ( ) ;
17
17
18
18
const eventQuery = require ( "../../models/events" ) ;
19
+ const logsModel = require ( "../../models/logs" ) ;
19
20
20
21
const defaultUser = userData [ 16 ] ;
21
22
@@ -721,4 +722,98 @@ describe("events", function () {
721
722
} ) ;
722
723
} ) ;
723
724
} ) ;
725
+
726
+ describe ( "PATCH /events/:id/peers/kickout" , function ( ) {
727
+ let service ;
728
+ let superUserAuthToken ;
729
+ let memberAuthToken ;
730
+ beforeEach ( async function ( ) {
731
+ const superUser = userData [ 4 ] ;
732
+ const member = userData [ 6 ] ;
733
+ const superUserId = await addUser ( superUser ) ;
734
+ const memberUserId = await addUser ( member ) ;
735
+ superUserAuthToken = authService . generateAuthToken ( { userId : superUserId } ) ;
736
+ memberAuthToken = authService . generateAuthToken ( { userId : memberUserId } ) ;
737
+ } ) ;
738
+
739
+ afterEach ( function ( ) {
740
+ service . restore ( ) ;
741
+ sinon . restore ( ) ;
742
+ } ) ;
743
+
744
+ it ( "returns a success message when the request is successful for super user" , function ( done ) {
745
+ const payload = {
746
+ peerId : "peer123" ,
747
+ reason : "Kicked out for a reason" ,
748
+ } ;
749
+
750
+ service = sinon . stub ( EventAPIService . prototype , "post" ) . returns ( { message : "peer remove request submitted" } ) ;
751
+
752
+ sinon . stub ( eventQuery , "kickoutPeer" ) . returns ( { message : "Selected Participant is removed from event." } ) ;
753
+ sinon . stub ( logsModel , "addLog" ) ;
754
+
755
+ chai
756
+ . request ( app )
757
+ . patch ( `/events/${ event1Data . room_id } /peers/kickout` )
758
+ . set ( "cookie" , `${ cookieName } =${ superUserAuthToken } ` )
759
+ . send ( payload )
760
+ . end ( ( error , response ) => {
761
+ if ( error ) {
762
+ return done ( error ) ;
763
+ }
764
+
765
+ expect ( response ) . to . have . status ( 200 ) ;
766
+ expect ( response . body . message ) . to . be . a ( "string" ) ;
767
+ expect ( response . body . message ) . to . equal ( "Selected Participant is removed from event." ) ;
768
+
769
+ return done ( ) ;
770
+ } ) ;
771
+ } ) ;
772
+
773
+ it ( "returns a success message when the request is successful for member user" , function ( done ) {
774
+ const payload = {
775
+ peerId : "peer123" ,
776
+ reason : "Kicked out for a reason" ,
777
+ } ;
778
+
779
+ service = sinon . stub ( EventAPIService . prototype , "post" ) . returns ( { message : "peer remove request submitted" } ) ;
780
+
781
+ sinon . stub ( eventQuery , "kickoutPeer" ) . returns ( { message : "Selected Participant is removed from event." } ) ;
782
+ sinon . stub ( logsModel , "addLog" ) ;
783
+
784
+ chai
785
+ . request ( app )
786
+ . patch ( `/events/${ event1Data . room_id } /peers/kickout` )
787
+ . set ( "cookie" , `${ cookieName } =${ memberAuthToken } ` )
788
+ . send ( payload )
789
+ . end ( ( error , response ) => {
790
+ if ( error ) {
791
+ return done ( error ) ;
792
+ }
793
+
794
+ expect ( response ) . to . have . status ( 200 ) ;
795
+ expect ( response . body . message ) . to . be . a ( "string" ) ;
796
+ expect ( response . body . message ) . to . equal ( "Selected Participant is removed from event." ) ;
797
+
798
+ return done ( ) ;
799
+ } ) ;
800
+ } ) ;
801
+
802
+ it ( "should return unauthorized error if user is not authenticated" , function ( done ) {
803
+ chai
804
+ . request ( app )
805
+ . patch ( `/events/${ event1Data . room_id } /peers/kickout` )
806
+ . end ( ( error , response ) => {
807
+ if ( error ) {
808
+ return done ( error ) ;
809
+ }
810
+
811
+ expect ( response ) . to . have . status ( 401 ) ;
812
+ expect ( response . body . error ) . to . be . equal ( "Unauthorized" ) ;
813
+ expect ( response . body . message ) . to . be . equal ( "Unauthenticated User" ) ;
814
+
815
+ return done ( ) ;
816
+ } ) ;
817
+ } ) ;
818
+ } ) ;
724
819
} ) ;
0 commit comments