@@ -657,4 +657,86 @@ describe('PubcidHandler', ()=> {
657
657
expect ( domain ) . to . be . undefined ;
658
658
} ) ;
659
659
} ) ;
660
+
661
+ describe ( 'deletePubcid' , ( ) => {
662
+ let deleteStub ;
663
+ before ( ( ) => {
664
+ deleteStub = sinon . stub ( storageUtils , 'deleteValue' ) ;
665
+ clearAll ( ) ;
666
+ } ) ;
667
+
668
+ after ( ( ) => {
669
+ deleteStub . restore ( ) ;
670
+ } )
671
+
672
+ beforeEach ( ( ) => {
673
+ deleteStub . resetHistory ( ) ;
674
+ } ) ;
675
+
676
+ afterEach ( ( ) => {
677
+ clearAll ( ) ;
678
+ } ) ;
679
+
680
+ it ( 'delete Cookie From Config' , ( ) => {
681
+ const expectedDomain = 'hello.cookie' ;
682
+ const expectedPubcidName = '_foobar' ;
683
+ const options = { cookieDomain : expectedDomain , name : expectedPubcidName , type : COOKIE } ;
684
+ const handler = new PubcidHandler ( options ) ;
685
+ expect ( deleteStub ) . to . have . not . been . called ;
686
+ handler . deletePubcid ( { all : false } ) ;
687
+ expect ( deleteStub ) . to . have . been . calledOnceWith ( COOKIE , expectedPubcidName , expectedDomain )
688
+ } ) ;
689
+
690
+ it ( 'delete Cookie From Cached Domain' , ( ) => {
691
+ const expectedDomain = undefined ;
692
+ const cachedDomain = 'foobar.com' ;
693
+ const expectedPubcidName = '_foobar' ;
694
+ const options = { cookieDomain : expectedDomain , name : expectedPubcidName , type : COOKIE } ;
695
+ const handler = new PubcidHandler ( options ) ;
696
+ handler . cachedDomain = cachedDomain ;
697
+ expect ( deleteStub ) . to . have . not . been . called ;
698
+ handler . deletePubcid ( { all : false } ) ;
699
+ expect ( deleteStub ) . to . have . been . calledOnceWith ( COOKIE , expectedPubcidName , cachedDomain )
700
+ } ) ;
701
+
702
+ it ( 'delete Cookie From Hostname' , ( ) => {
703
+ const expectedDomain = undefined ;
704
+ const expectedPubcidName = '_foobar' ;
705
+ const options = { cookieDomain : expectedDomain , name : expectedPubcidName , type : COOKIE } ;
706
+ const handler = new PubcidHandler ( options ) ;
707
+
708
+ let getHostnameStub = sinon . stub ( handler , 'getHostname' ) . returns ( "foo.bar.baz" ) ;
709
+
710
+ expect ( deleteStub ) . to . have . not . been . called ;
711
+ handler . deletePubcid ( { all : false } ) ;
712
+ sinon . assert . callCount ( deleteStub , 3 ) ;
713
+ expect ( deleteStub ) . to . have . been . calledWith ( COOKIE , expectedPubcidName , "foo.bar.baz" ) ;
714
+ expect ( deleteStub ) . to . have . been . calledWith ( COOKIE , expectedPubcidName , "bar.baz" ) ;
715
+ expect ( deleteStub ) . to . have . been . calledWith ( COOKIE , expectedPubcidName , "baz" ) ;
716
+
717
+ getHostnameStub . restore ( ) ;
718
+ } ) ;
719
+
720
+ it ( 'delete Pubcid from Local Storage' , ( ) => {
721
+ const expectedDomain = "foobar.com" ;
722
+ const expectedPubcidName = '_foobar' ;
723
+ const options = { cookieDomain : expectedDomain , name : expectedPubcidName , type : LOCAL_STORAGE } ;
724
+ const handler = new PubcidHandler ( options ) ;
725
+ expect ( deleteStub ) . to . have . not . been . called ;
726
+ handler . deletePubcid ( { all : false } ) ;
727
+ expect ( deleteStub ) . to . have . been . calledOnceWith ( LOCAL_STORAGE , expectedPubcidName , '' ) ;
728
+ } ) ;
729
+
730
+ it ( 'delete Pubcid from All' , ( ) => {
731
+ const expectedDomain = "foobar.com" ;
732
+ const expectedPubcidName = '_foobar' ;
733
+ const options = { cookieDomain : expectedDomain , name : expectedPubcidName , type : LOCAL_STORAGE } ;
734
+ const handler = new PubcidHandler ( options ) ;
735
+ expect ( deleteStub ) . to . have . not . been . called ;
736
+ handler . deletePubcid ( ) ;
737
+ sinon . assert . callCount ( deleteStub , 2 ) ;
738
+ expect ( deleteStub ) . to . have . been . calledWith ( COOKIE , expectedPubcidName , expectedDomain )
739
+ expect ( deleteStub ) . to . have . been . calledWith ( LOCAL_STORAGE , expectedPubcidName , '' ) ;
740
+ } ) ;
741
+ } ) ;
660
742
} ) ;
0 commit comments