@@ -225,6 +225,7 @@ describe("KnockGuideClient", () => {
225225 key : "test_guide" ,
226226 type : "test" ,
227227 semver : "1.0.0" ,
228+ active : true ,
228229 steps : [ ] ,
229230 activation_url_rules : [ ] ,
230231 activation_url_patterns : [ ] ,
@@ -540,6 +541,7 @@ describe("KnockGuideClient", () => {
540541 key : "test_guide" ,
541542 type : "test" ,
542543 semver : "1.0.0" ,
544+ active : true ,
543545 steps : [ mockStep ] ,
544546 activation_url_rules : [ ] ,
545547 activation_url_patterns : [ ] ,
@@ -893,6 +895,7 @@ describe("KnockGuideClient", () => {
893895 key : "onboarding" ,
894896 type : "card" ,
895897 semver : "1.0.0" ,
898+ active : true ,
896899 steps : [ mockStep ] ,
897900 activation_url_rules : [ ] ,
898901 activation_url_patterns : [
@@ -915,6 +918,7 @@ describe("KnockGuideClient", () => {
915918 key : "feature_tour" ,
916919 type : "tooltip" ,
917920 semver : "1.0.0" ,
921+ active : true ,
918922 steps : [ mockStep ] ,
919923 activation_url_rules : [ ] ,
920924 activation_url_patterns : [
@@ -937,6 +941,7 @@ describe("KnockGuideClient", () => {
937941 key : "system_status" ,
938942 type : "banner" ,
939943 semver : "1.0.0" ,
944+ active : true ,
940945 steps : [ mockStep ] ,
941946 activation_url_rules : [ ] ,
942947 activation_url_patterns : [ ] ,
@@ -1483,6 +1488,7 @@ describe("KnockGuideClient", () => {
14831488 key : "new_modal" ,
14841489 type : "modal" ,
14851490 semver : "1.0.0" ,
1491+ active : true ,
14861492 steps : [ mockStep ] ,
14871493 activation_url_patterns : [ ] ,
14881494 activation_url_rules : [ ] ,
@@ -1856,6 +1862,7 @@ describe("KnockGuideClient", () => {
18561862 key : "onboarding" ,
18571863 type : "card" ,
18581864 semver : "1.0.0" ,
1865+ active : true ,
18591866 steps : [ mockStep ] ,
18601867 activation_url_patterns : [ ] ,
18611868 activation_url_rules : [ ] ,
@@ -1872,6 +1879,7 @@ describe("KnockGuideClient", () => {
18721879 key : "changelog" ,
18731880 type : "card" ,
18741881 semver : "1.0.0" ,
1882+ active : true ,
18751883 steps : [ mockStep ] ,
18761884 activation_url_patterns : [ ] ,
18771885 activation_url_rules : [ ] ,
@@ -1889,6 +1897,7 @@ describe("KnockGuideClient", () => {
18891897 type : "banner" ,
18901898 semver : "1.0.0" ,
18911899 steps : [ mockStep ] ,
1900+ active : true ,
18921901 activation_url_patterns : [ ] ,
18931902 activation_url_rules : [ ] ,
18941903 bypass_global_group_limit : false ,
@@ -2025,6 +2034,35 @@ describe("KnockGuideClient", () => {
20252034 expect ( result ) . toHaveLength ( 1 ) ;
20262035 expect ( result [ 0 ] ! . key ) . toBe ( mockGuideTwo . key ) ;
20272036 } ) ;
2037+
2038+ test ( "does not return an inactive guide when forced guide key is set" , ( ) => {
2039+ const stateWithGuides = {
2040+ guideGroups : [ mockDefaultGroup ] ,
2041+ guideGroupDisplayLogs : { } ,
2042+ guides : {
2043+ ...mockGuides ,
2044+ [ mockGuideTwo . key ] : {
2045+ ...mockGuideTwo ,
2046+ active : false ,
2047+ } ,
2048+ } ,
2049+ previewGuides : { } ,
2050+ queries : { } ,
2051+ location : undefined ,
2052+ counter : 0 ,
2053+ debug : {
2054+ forcedGuideKey : mockGuideThree . key ,
2055+ previewSessionId : "test-session-id" ,
2056+ } ,
2057+ } ;
2058+
2059+ const client = new KnockGuideClient ( mockKnock , channelId ) ;
2060+ const result = client . selectGuides ( stateWithGuides ) ;
2061+
2062+ expect ( result ) . toHaveLength ( 2 ) ;
2063+ expect ( result [ 0 ] ! . key ) . toBe ( mockGuideThree . key ) ;
2064+ expect ( result [ 1 ] ! . key ) . toBe ( mockGuideOne . key ) ;
2065+ } ) ;
20282066 } ) ;
20292067
20302068 describe ( "guide socket event handling" , ( ) => {
@@ -2038,6 +2076,7 @@ describe("KnockGuideClient", () => {
20382076 key : "new_guide" ,
20392077 type : "test" ,
20402078 semver : "1.0.0" ,
2079+ active : true ,
20412080 steps : [ ] ,
20422081 activation_url_patterns : [ ] ,
20432082 activation_url_rules : [ ] ,
@@ -2070,14 +2109,15 @@ describe("KnockGuideClient", () => {
20702109 key : "existing_guide" ,
20712110 type : "test" ,
20722111 semver : "1.0.0" ,
2112+ active : true ,
20732113 steps : [ ] ,
20742114 activation_url_patterns : [ ] ,
20752115 activation_url_rules : [ ] ,
20762116 bypass_global_group_limit : false ,
20772117 inserted_at : new Date ( ) . toISOString ( ) ,
20782118 updated_at : new Date ( ) . toISOString ( ) ,
20792119 getStep ( ) {
2080- return this . steps . find ( ( s ) => ! s . message . archived_at ) ;
2120+ return this . steps . find ( ( s : KnockGuideStep ) => ! s . message . archived_at ) ;
20812121 } ,
20822122 } ;
20832123
@@ -2123,14 +2163,15 @@ describe("KnockGuideClient", () => {
21232163 key : "existing_guide" ,
21242164 type : "test" ,
21252165 semver : "1.0.0" ,
2166+ active : true ,
21262167 steps : [ ] ,
21272168 activation_url_patterns : [ ] ,
21282169 activation_url_rules : [ ] ,
21292170 bypass_global_group_limit : false ,
21302171 inserted_at : new Date ( ) . toISOString ( ) ,
21312172 updated_at : new Date ( ) . toISOString ( ) ,
21322173 getStep ( ) {
2133- return this . steps . find ( ( s ) => ! s . message . archived_at ) ;
2174+ return this . steps . find ( ( s : KnockGuideStep ) => ! s . message . archived_at ) ;
21342175 } ,
21352176 } ;
21362177
@@ -2168,14 +2209,15 @@ describe("KnockGuideClient", () => {
21682209 key : "existing_guide" ,
21692210 type : "test" ,
21702211 semver : "1.0.0" ,
2212+ active : true ,
21712213 steps : [ ] ,
21722214 activation_url_rules : [ ] ,
21732215 activation_url_patterns : [ ] ,
21742216 bypass_global_group_limit : false ,
21752217 inserted_at : new Date ( ) . toISOString ( ) ,
21762218 updated_at : new Date ( ) . toISOString ( ) ,
21772219 getStep ( ) {
2178- return this . steps . find ( ( s ) => ! s . message . archived_at ) ;
2220+ return this . steps . find ( ( s : KnockGuideStep ) => ! s . message . archived_at ) ;
21792221 } ,
21802222 } ;
21812223
@@ -2231,6 +2273,7 @@ describe("KnockGuideClient", () => {
22312273 key : "guide_one" ,
22322274 type : "banner" ,
22332275 semver : "1.0.0" ,
2276+ active : true ,
22342277 steps : [ mockStep ] ,
22352278 activation_url_patterns : [ ] ,
22362279 activation_url_rules : [ ] ,
@@ -2247,6 +2290,7 @@ describe("KnockGuideClient", () => {
22472290 key : "guide_two" ,
22482291 type : "banner" ,
22492292 semver : "1.0.0" ,
2293+ active : true ,
22502294 steps : [ mockStep ] ,
22512295 activation_url_patterns : [ ] ,
22522296 activation_url_rules : [ ] ,
0 commit comments