1
1
// @flow strict-local
2
2
import deepFreeze from 'deep-freeze' ;
3
3
import { HOME_NARROW } from '../../utils/narrow' ;
4
+ import { streamNameOfStreamMessage } from '../../utils/recipient' ;
4
5
5
6
import * as eg from '../../__tests__/lib/exampleData' ;
6
7
import { constructMessageActionButtons , constructHeaderActionButtons } from '../messageActionSheet' ;
@@ -58,21 +59,19 @@ describe('constructActionButtons', () => {
58
59
describe ( 'constructHeaderActionButtons' , ( ) => {
59
60
test ( 'show Unmute topic option if topic is muted' , ( ) => {
60
61
const mute = deepFreeze ( [ [ 'electron issues' , 'issue #556' ] ] ) ;
61
- const message = eg . streamMessage ( {
62
- display_recipient : 'electron issues' ,
63
- subject : 'issue #556' ,
64
- } ) ;
65
62
const buttons = constructHeaderActionButtons ( {
66
63
backgroundData : { ...baseBackgroundData , mute } ,
67
- message,
64
+ stream : 'electron issues' ,
65
+ topic : 'issue #556' ,
68
66
} ) ;
69
67
expect ( buttonTitles ( buttons ) ) . toContain ( 'Unmute topic' ) ;
70
68
} ) ;
71
69
72
70
test ( 'show mute topic option if topic is not muted' , ( ) => {
73
71
const buttons = constructHeaderActionButtons ( {
74
72
backgroundData : { ...baseBackgroundData , mute : [ ] } ,
75
- message : eg . streamMessage ( ) ,
73
+ stream : streamNameOfStreamMessage ( eg . streamMessage ( ) ) ,
74
+ topic : eg . streamMessage ( ) . subject ,
76
75
} ) ;
77
76
expect ( buttonTitles ( buttons ) ) . toContain ( 'Mute topic' ) ;
78
77
} ) ;
@@ -81,7 +80,8 @@ describe('constructHeaderActionButtons', () => {
81
80
const subscriptions = [ { ...eg . subscription , in_home_view : false } ] ;
82
81
const buttons = constructHeaderActionButtons ( {
83
82
backgroundData : { ...baseBackgroundData , subscriptions } ,
84
- message : eg . streamMessage ( ) ,
83
+ stream : streamNameOfStreamMessage ( eg . streamMessage ( ) ) ,
84
+ topic : eg . streamMessage ( ) . subject ,
85
85
} ) ;
86
86
expect ( buttonTitles ( buttons ) ) . toContain ( 'Unmute stream' ) ;
87
87
} ) ;
@@ -90,7 +90,8 @@ describe('constructHeaderActionButtons', () => {
90
90
const subscriptions = [ { ...eg . subscription , in_home_view : true } ] ;
91
91
const buttons = constructHeaderActionButtons ( {
92
92
backgroundData : { ...baseBackgroundData , subscriptions } ,
93
- message : eg . streamMessage ( ) ,
93
+ stream : streamNameOfStreamMessage ( eg . streamMessage ( ) ) ,
94
+ topic : eg . streamMessage ( ) . subject ,
94
95
} ) ;
95
96
expect ( buttonTitles ( buttons ) ) . toContain ( 'Mute stream' ) ;
96
97
} ) ;
@@ -99,15 +100,17 @@ describe('constructHeaderActionButtons', () => {
99
100
const ownUser = { ...eg . selfUser , is_admin : true } ;
100
101
const buttons = constructHeaderActionButtons ( {
101
102
backgroundData : { ...baseBackgroundData , ownUser } ,
102
- message : eg . streamMessage ( ) ,
103
+ stream : streamNameOfStreamMessage ( eg . streamMessage ( ) ) ,
104
+ topic : eg . streamMessage ( ) . subject ,
103
105
} ) ;
104
106
expect ( buttonTitles ( buttons ) ) . toContain ( 'Delete topic' ) ;
105
107
} ) ;
106
108
107
109
test ( 'do not show delete topic option if current user is not an admin' , ( ) => {
108
110
const buttons = constructHeaderActionButtons ( {
109
111
backgroundData : baseBackgroundData ,
110
- message : eg . streamMessage ( ) ,
112
+ stream : streamNameOfStreamMessage ( eg . streamMessage ( ) ) ,
113
+ topic : eg . streamMessage ( ) . subject ,
111
114
} ) ;
112
115
expect ( buttonTitles ( buttons ) ) . not . toContain ( 'Delete topic' ) ;
113
116
} ) ;
0 commit comments