@@ -24,6 +24,7 @@ describe("ReleaseAnnouncementStore", () => {
24
24
beforeEach ( ( ) => {
25
25
// Default settings
26
26
settings = {
27
+ feature_release_announcement : true ,
27
28
releaseAnnouncementData : { } ,
28
29
} ;
29
30
const watchCallbacks : Array < CallbackFn > = [ ] ;
@@ -50,6 +51,13 @@ describe("ReleaseAnnouncementStore", () => {
50
51
releaseAnnouncementStore = new ReleaseAnnouncementStore ( ) ;
51
52
} ) ;
52
53
54
+ /**
55
+ * Disables the release announcement feature.
56
+ */
57
+ function disableReleaseAnnouncement ( ) {
58
+ settings [ "feature_release_announcement" ] = false ;
59
+ }
60
+
53
61
/**
54
62
* Listens to the next release announcement change event.
55
63
*/
@@ -63,6 +71,20 @@ describe("ReleaseAnnouncementStore", () => {
63
71
expect ( ReleaseAnnouncementStore . instance ) . toBeDefined ( ) ;
64
72
} ) ;
65
73
74
+ it ( "should return null when the release announcement is disabled" , async ( ) => {
75
+ disableReleaseAnnouncement ( ) ;
76
+
77
+ expect ( releaseAnnouncementStore . getReleaseAnnouncement ( ) ) . toBeNull ( ) ;
78
+
79
+ // Wait for the next release announcement change event
80
+ const promise = listenReleaseAnnouncementChanged ( ) ;
81
+ // Call the next release announcement
82
+ // because the release announcement is disabled, the next release announcement should be null
83
+ await releaseAnnouncementStore . nextReleaseAnnouncement ( ) ;
84
+ expect ( await promise ) . toBeNull ( ) ;
85
+ expect ( releaseAnnouncementStore . getReleaseAnnouncement ( ) ) . toBeNull ( ) ;
86
+ } ) ;
87
+
66
88
// We only have a single release announcement currently
67
89
it . skip ( "should return the next feature when the next release announcement is called" , async ( ) => {
68
90
// Sanity check
0 commit comments