@100mslive/react-native-room-kit 1.0.2-beta.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/lib/commonjs/HMSRoomSetup.js +1 -0
  2. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  3. package/lib/commonjs/Icons/BRB/index.js +2 -0
  4. package/lib/commonjs/Icons/BRB/index.js.map +1 -1
  5. package/lib/commonjs/Icons/Hand/index.js +2 -0
  6. package/lib/commonjs/Icons/Hand/index.js.map +1 -1
  7. package/lib/commonjs/Icons/Leave/index.js +2 -0
  8. package/lib/commonjs/Icons/Leave/index.js.map +1 -1
  9. package/lib/commonjs/Icons/Mic/index.js +2 -0
  10. package/lib/commonjs/Icons/Mic/index.js.map +1 -1
  11. package/lib/commonjs/Icons/Stop/index.js +2 -0
  12. package/lib/commonjs/Icons/Stop/index.js.map +1 -1
  13. package/lib/commonjs/components/BackButton.js +2 -0
  14. package/lib/commonjs/components/BackButton.js.map +1 -1
  15. package/lib/commonjs/components/BottomSheet.js +7 -1
  16. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  17. package/lib/commonjs/components/ChangeNameModalContent.js +5 -0
  18. package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -1
  19. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js +5 -0
  20. package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  21. package/lib/commonjs/components/CompanyLogo.js +2 -0
  22. package/lib/commonjs/components/CompanyLogo.js.map +1 -1
  23. package/lib/commonjs/components/EndRoomModalContent.js +6 -1
  24. package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
  25. package/lib/commonjs/components/HMSBaseButton.js +2 -0
  26. package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
  27. package/lib/commonjs/components/HMSChat.js +2 -0
  28. package/lib/commonjs/components/HMSChat.js.map +1 -1
  29. package/lib/commonjs/components/HMSDangerButton.js +2 -0
  30. package/lib/commonjs/components/HMSDangerButton.js.map +1 -1
  31. package/lib/commonjs/components/HMSLiveIndicator.js +6 -1
  32. package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -1
  33. package/lib/commonjs/components/HMSLocalScreenshareNotification.js +3 -0
  34. package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -1
  35. package/lib/commonjs/components/HMSManageAudioOutput.js +32 -2
  36. package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
  37. package/lib/commonjs/components/HMSManageCameraRotation.js +2 -0
  38. package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
  39. package/lib/commonjs/components/HMSManageLeave.js +3 -1
  40. package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
  41. package/lib/commonjs/components/HMSManageLocalAudio.js +2 -0
  42. package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
  43. package/lib/commonjs/components/HMSManageLocalVideo.js +2 -0
  44. package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
  45. package/lib/commonjs/components/HMSManageRaiseHand.js +2 -0
  46. package/lib/commonjs/components/HMSManageRaiseHand.js.map +1 -1
  47. package/lib/commonjs/components/HMSNotification.js +2 -0
  48. package/lib/commonjs/components/HMSNotification.js.map +1 -1
  49. package/lib/commonjs/components/HMSPreviewEditName.js +2 -0
  50. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  51. package/lib/commonjs/components/HMSPreviewJoinButton.js +2 -0
  52. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
  53. package/lib/commonjs/components/HMSPreviewSubtitle.js +8 -0
  54. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
  55. package/lib/commonjs/components/HMSPreviewTitle.js +2 -0
  56. package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
  57. package/lib/commonjs/components/HMSPrimaryButton.js +2 -0
  58. package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -1
  59. package/lib/commonjs/components/HMSRoomOptions.js +2 -0
  60. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  61. package/lib/commonjs/components/HMSSendMessageInput.js +3 -0
  62. package/lib/commonjs/components/HMSSendMessageInput.js.map +1 -1
  63. package/lib/commonjs/components/HMSTextInput.js +1 -0
  64. package/lib/commonjs/components/HMSTextInput.js.map +1 -1
  65. package/lib/commonjs/components/LeaveRoomBottomSheet.js +7 -0
  66. package/lib/commonjs/components/LeaveRoomBottomSheet.js.map +1 -1
  67. package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js +4 -0
  68. package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js.map +1 -1
  69. package/lib/commonjs/components/Participants/ParticipantsItem.js +2 -0
  70. package/lib/commonjs/components/Participants/ParticipantsItem.js.map +1 -1
  71. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js +2 -0
  72. package/lib/commonjs/components/Participants/ParticipantsSeachInput.js.map +1 -1
  73. package/lib/commonjs/components/PeerSettingsModalContent.js +8 -1
  74. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
  75. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +3 -0
  76. package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
  77. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +3 -0
  78. package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  79. package/lib/commonjs/components/RoomSettingsModalContent.js +13 -1
  80. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  81. package/lib/commonjs/utils/constants.js +114 -0
  82. package/lib/commonjs/utils/constants.js.map +1 -0
  83. package/lib/module/HMSRoomSetup.js +1 -0
  84. package/lib/module/HMSRoomSetup.js.map +1 -1
  85. package/lib/module/Icons/BRB/index.js +2 -0
  86. package/lib/module/Icons/BRB/index.js.map +1 -1
  87. package/lib/module/Icons/Hand/index.js +2 -0
  88. package/lib/module/Icons/Hand/index.js.map +1 -1
  89. package/lib/module/Icons/Leave/index.js +2 -0
  90. package/lib/module/Icons/Leave/index.js.map +1 -1
  91. package/lib/module/Icons/Mic/index.js +2 -0
  92. package/lib/module/Icons/Mic/index.js.map +1 -1
  93. package/lib/module/Icons/Stop/index.js +2 -0
  94. package/lib/module/Icons/Stop/index.js.map +1 -1
  95. package/lib/module/components/BackButton.js +2 -0
  96. package/lib/module/components/BackButton.js.map +1 -1
  97. package/lib/module/components/BottomSheet.js +7 -1
  98. package/lib/module/components/BottomSheet.js.map +1 -1
  99. package/lib/module/components/ChangeNameModalContent.js +5 -0
  100. package/lib/module/components/ChangeNameModalContent.js.map +1 -1
  101. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js +5 -0
  102. package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
  103. package/lib/module/components/CompanyLogo.js +2 -0
  104. package/lib/module/components/CompanyLogo.js.map +1 -1
  105. package/lib/module/components/EndRoomModalContent.js +6 -1
  106. package/lib/module/components/EndRoomModalContent.js.map +1 -1
  107. package/lib/module/components/HMSBaseButton.js +2 -0
  108. package/lib/module/components/HMSBaseButton.js.map +1 -1
  109. package/lib/module/components/HMSChat.js +2 -0
  110. package/lib/module/components/HMSChat.js.map +1 -1
  111. package/lib/module/components/HMSDangerButton.js +2 -0
  112. package/lib/module/components/HMSDangerButton.js.map +1 -1
  113. package/lib/module/components/HMSLiveIndicator.js +6 -1
  114. package/lib/module/components/HMSLiveIndicator.js.map +1 -1
  115. package/lib/module/components/HMSLocalScreenshareNotification.js +3 -0
  116. package/lib/module/components/HMSLocalScreenshareNotification.js.map +1 -1
  117. package/lib/module/components/HMSManageAudioOutput.js +32 -2
  118. package/lib/module/components/HMSManageAudioOutput.js.map +1 -1
  119. package/lib/module/components/HMSManageCameraRotation.js +2 -0
  120. package/lib/module/components/HMSManageCameraRotation.js.map +1 -1
  121. package/lib/module/components/HMSManageLeave.js +3 -1
  122. package/lib/module/components/HMSManageLeave.js.map +1 -1
  123. package/lib/module/components/HMSManageLocalAudio.js +2 -0
  124. package/lib/module/components/HMSManageLocalAudio.js.map +1 -1
  125. package/lib/module/components/HMSManageLocalVideo.js +2 -0
  126. package/lib/module/components/HMSManageLocalVideo.js.map +1 -1
  127. package/lib/module/components/HMSManageRaiseHand.js +2 -0
  128. package/lib/module/components/HMSManageRaiseHand.js.map +1 -1
  129. package/lib/module/components/HMSNotification.js +2 -0
  130. package/lib/module/components/HMSNotification.js.map +1 -1
  131. package/lib/module/components/HMSPreviewEditName.js +2 -0
  132. package/lib/module/components/HMSPreviewEditName.js.map +1 -1
  133. package/lib/module/components/HMSPreviewJoinButton.js +2 -0
  134. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
  135. package/lib/module/components/HMSPreviewSubtitle.js +8 -0
  136. package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
  137. package/lib/module/components/HMSPreviewTitle.js +2 -0
  138. package/lib/module/components/HMSPreviewTitle.js.map +1 -1
  139. package/lib/module/components/HMSPrimaryButton.js +2 -0
  140. package/lib/module/components/HMSPrimaryButton.js.map +1 -1
  141. package/lib/module/components/HMSRoomOptions.js +2 -0
  142. package/lib/module/components/HMSRoomOptions.js.map +1 -1
  143. package/lib/module/components/HMSSendMessageInput.js +3 -0
  144. package/lib/module/components/HMSSendMessageInput.js.map +1 -1
  145. package/lib/module/components/HMSTextInput.js +1 -0
  146. package/lib/module/components/HMSTextInput.js.map +1 -1
  147. package/lib/module/components/LeaveRoomBottomSheet.js +7 -0
  148. package/lib/module/components/LeaveRoomBottomSheet.js.map +1 -1
  149. package/lib/module/components/Participants/ParticipantsGroupHeader.js +4 -0
  150. package/lib/module/components/Participants/ParticipantsGroupHeader.js.map +1 -1
  151. package/lib/module/components/Participants/ParticipantsItem.js +2 -0
  152. package/lib/module/components/Participants/ParticipantsItem.js.map +1 -1
  153. package/lib/module/components/Participants/ParticipantsSeachInput.js +2 -0
  154. package/lib/module/components/Participants/ParticipantsSeachInput.js.map +1 -1
  155. package/lib/module/components/PeerSettingsModalContent.js +8 -1
  156. package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
  157. package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js +3 -0
  158. package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
  159. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +3 -0
  160. package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
  161. package/lib/module/components/RoomSettingsModalContent.js +13 -1
  162. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  163. package/lib/module/utils/constants.js +108 -0
  164. package/lib/module/utils/constants.js.map +1 -0
  165. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  166. package/lib/typescript/Icons/BRB/index.d.ts.map +1 -1
  167. package/lib/typescript/Icons/Hand/index.d.ts.map +1 -1
  168. package/lib/typescript/Icons/Leave/index.d.ts.map +1 -1
  169. package/lib/typescript/Icons/Mic/index.d.ts.map +1 -1
  170. package/lib/typescript/Icons/Stop/index.d.ts.map +1 -1
  171. package/lib/typescript/components/BackButton.d.ts.map +1 -1
  172. package/lib/typescript/components/BottomSheet.d.ts +4 -1
  173. package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
  174. package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -1
  175. package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts.map +1 -1
  176. package/lib/typescript/components/CompanyLogo.d.ts.map +1 -1
  177. package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -1
  178. package/lib/typescript/components/HMSBaseButton.d.ts +2 -1
  179. package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -1
  180. package/lib/typescript/components/HMSChat.d.ts.map +1 -1
  181. package/lib/typescript/components/HMSDangerButton.d.ts +2 -0
  182. package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -1
  183. package/lib/typescript/components/HMSLiveIndicator.d.ts.map +1 -1
  184. package/lib/typescript/components/HMSLocalScreenshareNotification.d.ts.map +1 -1
  185. package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -1
  186. package/lib/typescript/components/HMSManageCameraRotation.d.ts.map +1 -1
  187. package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
  188. package/lib/typescript/components/HMSManageLocalAudio.d.ts.map +1 -1
  189. package/lib/typescript/components/HMSManageLocalVideo.d.ts.map +1 -1
  190. package/lib/typescript/components/HMSManageRaiseHand.d.ts.map +1 -1
  191. package/lib/typescript/components/HMSNotification.d.ts +2 -1
  192. package/lib/typescript/components/HMSNotification.d.ts.map +1 -1
  193. package/lib/typescript/components/HMSPreviewEditName.d.ts.map +1 -1
  194. package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
  195. package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
  196. package/lib/typescript/components/HMSPreviewTitle.d.ts.map +1 -1
  197. package/lib/typescript/components/HMSPrimaryButton.d.ts +2 -0
  198. package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -1
  199. package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
  200. package/lib/typescript/components/HMSSendMessageInput.d.ts.map +1 -1
  201. package/lib/typescript/components/HMSTextInput.d.ts +2 -1
  202. package/lib/typescript/components/HMSTextInput.d.ts.map +1 -1
  203. package/lib/typescript/components/LeaveRoomBottomSheet.d.ts.map +1 -1
  204. package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts.map +1 -1
  205. package/lib/typescript/components/Participants/ParticipantsItem.d.ts.map +1 -1
  206. package/lib/typescript/components/Participants/ParticipantsSeachInput.d.ts.map +1 -1
  207. package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
  208. package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts.map +1 -1
  209. package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -1
  210. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  211. package/lib/typescript/utils/constants.d.ts +101 -0
  212. package/lib/typescript/utils/constants.d.ts.map +1 -0
  213. package/package.json +2 -2
  214. package/src/HMSRoomSetup.tsx +1 -0
  215. package/src/Icons/BRB/index.tsx +2 -0
  216. package/src/Icons/Hand/index.tsx +6 -0
  217. package/src/Icons/Leave/index.tsx +2 -0
  218. package/src/Icons/Mic/index.tsx +6 -0
  219. package/src/Icons/Stop/index.tsx +2 -0
  220. package/src/components/BackButton.tsx +2 -0
  221. package/src/components/BottomSheet.tsx +10 -3
  222. package/src/components/ChangeNameModalContent.tsx +8 -1
  223. package/src/components/ChatAndParticipants/ChatAndParticipantsHeader.tsx +26 -2
  224. package/src/components/CompanyLogo.tsx +2 -0
  225. package/src/components/EndRoomModalContent.tsx +13 -3
  226. package/src/components/HMSBaseButton.tsx +4 -1
  227. package/src/components/HMSChat.tsx +6 -1
  228. package/src/components/HMSDangerButton.tsx +4 -0
  229. package/src/components/HMSLiveIndicator.tsx +4 -3
  230. package/src/components/HMSLocalScreenshareNotification.tsx +3 -0
  231. package/src/components/HMSManageAudioOutput.tsx +35 -3
  232. package/src/components/HMSManageCameraRotation.tsx +2 -0
  233. package/src/components/HMSManageLeave.tsx +2 -0
  234. package/src/components/HMSManageLocalAudio.tsx +2 -0
  235. package/src/components/HMSManageLocalVideo.tsx +2 -0
  236. package/src/components/HMSManageRaiseHand.tsx +2 -1
  237. package/src/components/HMSNotification.tsx +4 -2
  238. package/src/components/HMSPreviewEditName.tsx +2 -1
  239. package/src/components/HMSPreviewJoinButton.tsx +6 -0
  240. package/src/components/HMSPreviewSubtitle.tsx +9 -6
  241. package/src/components/HMSPreviewTitle.tsx +2 -1
  242. package/src/components/HMSPrimaryButton.tsx +4 -0
  243. package/src/components/HMSRoomOptions.tsx +2 -1
  244. package/src/components/HMSSendMessageInput.tsx +3 -0
  245. package/src/components/HMSTextInput.tsx +3 -0
  246. package/src/components/LeaveRoomBottomSheet.tsx +7 -1
  247. package/src/components/Participants/ParticipantsGroupHeader.tsx +12 -2
  248. package/src/components/Participants/ParticipantsItem.tsx +2 -1
  249. package/src/components/Participants/ParticipantsSeachInput.tsx +2 -0
  250. package/src/components/PeerSettingsModalContent.tsx +9 -1
  251. package/src/components/PeerVideoTile/PeerNameAndNetwork.tsx +3 -0
  252. package/src/components/PeerVideoTile/PeerVideoTileView.tsx +3 -0
  253. package/src/components/RoomSettingsModalContent.tsx +14 -0
  254. package/src/utils/constants.ts +146 -0
@@ -8,6 +8,7 @@ import type { ParticipantAccordianData } from '../../hooks-util';
8
8
  import { ChevronIcon, ThreeDotsIcon } from '../../Icons';
9
9
  import { Menu } from '../MenuModal';
10
10
  import { ParticipantsGroupOptions } from './ParticipantsGroupOptions';
11
+ import { TestIds } from '../../utils/constants';
11
12
  // import type { RootState } from '../../redux';
12
13
  // import { isParticipantHostOrBroadcaster } from '../../utils/functions';
13
14
 
@@ -74,12 +75,16 @@ const _ParticipantsGroupHeader: React.FC<ParticipantsGroupHeaderProps> = ({
74
75
  >
75
76
  <View style={{ flexDirection: 'row', alignItems: 'center' }}>
76
77
  {onBackPress ? (
77
- <TouchableOpacity style={{ marginRight: 8 }} onPress={onBackPress}>
78
+ <TouchableOpacity
79
+ testID={TestIds.participants_group_back_btn}
80
+ style={{ marginRight: 8 }}
81
+ onPress={onBackPress}
82
+ >
78
83
  <ChevronIcon direction="left" />
79
84
  </TouchableOpacity>
80
85
  ) : null}
81
86
 
82
- <Text style={[styles.label, hmsRoomStyles.label]}>{label}</Text>
87
+ <Text testID={TestIds.participants_group_name} style={[styles.label, hmsRoomStyles.label]}>{label}</Text>
83
88
  </View>
84
89
 
85
90
  <View style={styles.controls}>
@@ -100,6 +105,11 @@ const _ParticipantsGroupHeader: React.FC<ParticipantsGroupHeaderProps> = ({
100
105
 
101
106
  {toggleGroupExpand ? (
102
107
  <TouchableOpacity
108
+ testID={
109
+ expanded
110
+ ? TestIds.participants_group_collapse_btn
111
+ : TestIds.participants_group_expand_btn
112
+ }
103
113
  style={[styles.control, expanded ? styles.expandedArrowIcon : null]}
104
114
  onPress={toggleGroupExpand}
105
115
  >
@@ -9,6 +9,7 @@ import { HandIcon, NetworkQualityIcon, ThreeDotsIcon } from '../../Icons';
9
9
  import { Menu } from '../MenuModal';
10
10
  import { ParticipantsItemOptions } from './ParticipantsItemOptions';
11
11
  import type { RootState } from '../../redux';
12
+ import { TestIds } from '../../utils/constants';
12
13
 
13
14
  interface ParticipantsItemProps {
14
15
  groupId: string;
@@ -51,7 +52,7 @@ const _ParticipantsItem: React.FC<ParticipantsItemProps> = ({
51
52
 
52
53
  return (
53
54
  <View style={styles.container}>
54
- <Text style={[styles.label, hmsRoomStyles.label]}>
55
+ <Text testID={TestIds.participant_name} style={[styles.label, hmsRoomStyles.label]}>
55
56
  {peer.name}
56
57
  {peer.isLocal ? ' (You)' : null}
57
58
  </Text>
@@ -4,6 +4,7 @@ import { StyleSheet, Platform } from 'react-native';
4
4
  import { useHMSRoomColorPalette, useHMSRoomStyle } from '../../hooks-util';
5
5
  import { SearchIcon } from '../../Icons';
6
6
  import { HMSTextInput } from '../HMSTextInput';
7
+ import { TestIds } from '../../utils/constants';
7
8
 
8
9
  type ParticipantsSearchInputProps = {
9
10
  searchText: string;
@@ -22,6 +23,7 @@ export const ParticipantsSearchInput: React.FC<
22
23
 
23
24
  return (
24
25
  <HMSTextInput
26
+ testID={TestIds.search_participant_input}
25
27
  value={searchText}
26
28
  onChangeText={setSearchText}
27
29
  placeholder="Search for participants"
@@ -7,7 +7,7 @@ import {
7
7
  LayoutAnimation,
8
8
  InteractionManager,
9
9
  } from 'react-native';
10
- import type { StyleProp, TextStyle } from 'react-native';
10
+ import type { StyleProp, TextStyle, TouchableOpacityProps } from 'react-native';
11
11
  import { useDispatch, useSelector } from 'react-redux';
12
12
  import { HMSTrack } from '@100mslive/react-native-hms';
13
13
 
@@ -24,6 +24,7 @@ import {
24
24
  PersonIcon,
25
25
  } from '../Icons';
26
26
  import { BottomSheet } from './BottomSheet';
27
+ import { TestIds } from '../utils/constants';
27
28
 
28
29
  interface PeerSettingsModalContentProps {
29
30
  peerTrackNode: PeerTrackNode;
@@ -112,7 +113,10 @@ export const PeerSettingsModalContent: React.FC<
112
113
  <BottomSheet.Header
113
114
  dismissModal={cancelModal}
114
115
  heading={peer.name + (peer.isLocal ? ' (You)' : '')}
116
+ headingTestID={TestIds.tile_modal_heading}
115
117
  subheading={peer.role?.name}
118
+ subheadingTestID={TestIds.tile_modal_subheading}
119
+ closeIconTestID={TestIds.tile_modal_close_btn}
116
120
  />
117
121
 
118
122
  <BottomSheet.Divider />
@@ -121,6 +125,7 @@ export const PeerSettingsModalContent: React.FC<
121
125
  <View style={styles.contentContainer}>
122
126
  {peer.isLocal ? (
123
127
  <SettingItem
128
+ testID={TestIds.tile_modal_change_name_btn}
124
129
  text={'Change Name'}
125
130
  icon={<PencilIcon style={styles.customIcon} />}
126
131
  onPress={changeName}
@@ -199,11 +204,13 @@ type SettingItemProps = {
199
204
  onPress(): void;
200
205
  text: string;
201
206
  icon: React.ReactElement;
207
+ testID?: TouchableOpacityProps['testID'];
202
208
  disabled?: boolean;
203
209
  textStyle?: StyleProp<TextStyle>;
204
210
  };
205
211
 
206
212
  const SettingItem: React.FC<SettingItemProps> = ({
213
+ testID,
207
214
  onPress,
208
215
  text,
209
216
  icon,
@@ -217,6 +224,7 @@ const SettingItem: React.FC<SettingItemProps> = ({
217
224
 
218
225
  return (
219
226
  <TouchableOpacity
227
+ testID={testID}
220
228
  disabled={disabled}
221
229
  style={[styles.button, disabled ? { opacity: 0.6 } : null]}
222
230
  onPress={onPress}
@@ -5,6 +5,7 @@ import { HMSTrackSource } from '@100mslive/react-native-hms';
5
5
  import { hexToRgbA } from '../../utils/theme';
6
6
  import { NetworkQualityIcon, ScreenShareIcon } from '../../Icons';
7
7
  import { useHMSRoomStyleSheet } from '../../hooks-util';
8
+ import { TestIds } from '../../utils/constants';
8
9
 
9
10
  export interface PeerNameAndNetworkProps {
10
11
  name: string;
@@ -43,6 +44,7 @@ export const PeerNameAndNetwork: React.FC<PeerNameAndNetworkProps> = ({
43
44
  ) : null}
44
45
 
45
46
  <Text
47
+ testID={TestIds.tile_user_name}
46
48
  style={[styles.name, hmsRoomStyles.name]}
47
49
  numberOfLines={1}
48
50
  ellipsizeMode={showTrackSource ? 'middle' : 'tail'}
@@ -53,6 +55,7 @@ export const PeerNameAndNetwork: React.FC<PeerNameAndNetworkProps> = ({
53
55
  </Text>
54
56
 
55
57
  <NetworkQualityIcon
58
+ testID={TestIds.tile_network_icon}
56
59
  quality={networkQuality}
57
60
  style={styles.networkIcon}
58
61
  />
@@ -27,6 +27,7 @@ import {
27
27
  } from '../../hooks-sdk-selectors';
28
28
  import { useHMSRoomStyleSheet } from '../../hooks-util';
29
29
  import { HMSFullScreenButton } from './HMSFullScreenButton';
30
+ import { TestIds } from '../../utils/constants';
30
31
 
31
32
  export interface PeerVideoTileViewProps {
32
33
  peerTrackNode: PeerTrackNode;
@@ -207,6 +208,7 @@ export const _PeerVideoTileView = React.forwardRef<
207
208
  onUnmount={hide}
208
209
  >
209
210
  <PressableIcon
211
+ testID={TestIds.tile_options}
210
212
  activeOpacity={0.7}
211
213
  style={[styles.iconWrapper, hmsRoomStyles.iconWrapperStyles]}
212
214
  border={false}
@@ -217,6 +219,7 @@ export const _PeerVideoTileView = React.forwardRef<
217
219
  </UnmountAfterDelay>
218
220
  ) : (
219
221
  <PressableIcon
222
+ testID={TestIds.tile_options}
220
223
  activeOpacity={0.7}
221
224
  style={[styles.iconWrapper, hmsRoomStyles.iconWrapperStyles]}
222
225
  border={false}
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { View, StyleSheet, Text, TouchableOpacity } from 'react-native';
3
+ import type { TouchableOpacityProps } from 'react-native';
3
4
  import type { HMSAudioMixingMode } from '@100mslive/react-native-hms';
4
5
  import { useSelector } from 'react-redux';
5
6
 
@@ -26,6 +27,7 @@ import { useCanPublishScreen, useHMSActions } from '../hooks-sdk';
26
27
  import { RoomSettingsModalDebugModeContent } from './RoomSettingsModalDebugModeContent';
27
28
  import { ParticipantsCount } from './ParticipantsCount';
28
29
  import { selectAllowedTracksToPublish } from '../hooks-sdk-selectors';
30
+ import { TestIds } from '../utils/constants';
29
31
 
30
32
  interface RoomSettingsModalContentProps {
31
33
  newAudioMixingMode: HMSAudioMixingMode;
@@ -178,6 +180,8 @@ export const RoomSettingsModalContent: React.FC<
178
180
  <BottomSheet.Header
179
181
  dismissModal={closeRoomSettingsModal}
180
182
  heading="Options"
183
+ headingTestID={TestIds.room_modal_heading}
184
+ closeIconTestID={TestIds.room_modal_close_btn}
181
185
  />
182
186
 
183
187
  <BottomSheet.Divider />
@@ -187,6 +191,7 @@ export const RoomSettingsModalContent: React.FC<
187
191
  [
188
192
  {
189
193
  id: 'participants',
194
+ testID: TestIds.room_modal_participants_btn,
190
195
  icon: <ParticipantsIcon style={{ width: 20, height: 20 }} />,
191
196
  label: 'Participants',
192
197
  pressHandler: onParticipantsPress,
@@ -198,6 +203,7 @@ export const RoomSettingsModalContent: React.FC<
198
203
  },
199
204
  {
200
205
  id: 'share-screen',
206
+ testID: !!isLocalScreenShared ? TestIds.room_modal_stop_screen_share_btn : TestIds.room_modal_share_screen_btn,
201
207
  icon: <ScreenShareIcon style={{ width: 20, height: 20 }} />,
202
208
  label: isLocalScreenShared ? 'Sharing Screen' : 'Share Screen',
203
209
  pressHandler: handleScreenShareTogglePress,
@@ -206,6 +212,7 @@ export const RoomSettingsModalContent: React.FC<
206
212
  },
207
213
  {
208
214
  id: 'brb',
215
+ testID: isBRBOn ? TestIds.room_modal_stop_brb_btn : TestIds.room_modal_brb_btn,
209
216
  icon: <BRBIcon style={{ width: 20, height: 20 }} />,
210
217
  label: isBRBOn ? "I'm Back" : 'Be Right Back',
211
218
  pressHandler: toggleBRB,
@@ -214,6 +221,7 @@ export const RoomSettingsModalContent: React.FC<
214
221
  },
215
222
  {
216
223
  id: 'raise-hand',
224
+ testID: isHandRaised ? TestIds.room_modal_hand_raised_btn : TestIds.room_modal_hand_raise_btn,
217
225
  icon: <HandIcon style={{ width: 20, height: 20 }} />,
218
226
  label: isHandRaised ? 'Hand Raised' : 'Raise Hand',
219
227
  pressHandler: toggleRaiseHand,
@@ -222,6 +230,7 @@ export const RoomSettingsModalContent: React.FC<
222
230
  },
223
231
  {
224
232
  id: 'start-recording',
233
+ testID: isRecordingOn ? TestIds.room_modal_stop_recording_btn : TestIds.room_modal_start_recording_btn,
225
234
  icon: <RecordingIcon style={{ width: 20, height: 20 }} />,
226
235
  label: isRecordingOn ? 'Stop Recording' : 'Start Recording',
227
236
  pressHandler: handleRecordingTogglePress,
@@ -230,6 +239,7 @@ export const RoomSettingsModalContent: React.FC<
230
239
  },
231
240
  {
232
241
  id: 'change-name',
242
+ testID: TestIds.room_modal_change_name_btn,
233
243
  icon: <PencilIcon style={{ width: 20, height: 20 }} />,
234
244
  label: 'Change Name',
235
245
  pressHandler: changeName,
@@ -257,6 +267,7 @@ export const RoomSettingsModalContent: React.FC<
257
267
  {item ? (
258
268
  <>
259
269
  <SettingItem
270
+ testID={item.testID}
260
271
  icon={item.icon}
261
272
  onPress={item.pressHandler}
262
273
  text={item.label}
@@ -285,10 +296,12 @@ type SettingItemProps = {
285
296
  text: string;
286
297
  icon: React.ReactElement;
287
298
  onPress(): void;
299
+ testID?: TouchableOpacityProps['testID'];
288
300
  isActive?: boolean;
289
301
  };
290
302
 
291
303
  const SettingItem: React.FC<SettingItemProps> = ({
304
+ testID,
292
305
  text,
293
306
  icon,
294
307
  onPress,
@@ -306,6 +319,7 @@ const SettingItem: React.FC<SettingItemProps> = ({
306
319
 
307
320
  return (
308
321
  <TouchableOpacity
322
+ testID={testID}
309
323
  style={[styles.button, isActive ? hmsRoomStyles.button : null]}
310
324
  onPress={onPress}
311
325
  >
@@ -0,0 +1,146 @@
1
+ export const TestIds = {
2
+ // Common
3
+ back_button: 'back-button',
4
+ company_logo: 'company-logo',
5
+ manage_audio_output: 'change-audio-output-button',
6
+
7
+ switch_camera: 'switch-camera-button',
8
+ switch_camera_disabled: 'switch-camera-disabled-button',
9
+
10
+ mic_muted_btn: 'mic-muted-button',
11
+ mic_unmuted_btn: 'mic-unmuted-button',
12
+
13
+ mic_muted_icon: 'mic-muted-icon',
14
+ mic_unmuted_icon: 'mic-unmuted-icon',
15
+
16
+ camera_muted_btn: 'camera-muted-button',
17
+ camera_unmuted_btn: 'camera-unmuted-button',
18
+
19
+ // Preview
20
+ enter_name: 'enter-name-input',
21
+ go_live_btn: 'go-live-button',
22
+ join_now_btn: 'join-now-button',
23
+ title: 'preview-title-text',
24
+ subtitle: 'preview-subtitle-text',
25
+
26
+ // Meeting - Header
27
+ live_text: 'live-text',
28
+ peer_count_icon: 'peer-count-icon',
29
+ peer_count: 'peer-count-text',
30
+
31
+ notification_sharing_screen: 'notification-sharing-screen-text',
32
+ notification_stop_screen_share_btn: 'notification-stop-screen-share-button',
33
+
34
+ // Meeting - Tile
35
+ brb_icon: 'brb-icon',
36
+
37
+ hand_icon: 'hand-icon',
38
+ hand_off_icon: 'hand-off-icon',
39
+
40
+ tile_options: 'tile-three-dots-button',
41
+ tile_user_name: 'tile-user-name',
42
+ tile_network_icon: 'tile-network-icon',
43
+
44
+ tile_modal_heading: 'tile-modal-heading',
45
+ tile_modal_subheading: 'tile-modal-subheading',
46
+ tile_modal_close_btn: 'tile-modal-close-button',
47
+ tile_modal_change_name_btn: 'tile-modal-change-name-button',
48
+
49
+ change_name_modal_heading: 'change-name-modal-heading',
50
+ change_name_input: 'change-name-input',
51
+ change_name_modal_close_btn: 'change-name-modal-close-button',
52
+ change_name_modal_cta: 'change-name-modal-cta',
53
+
54
+ // Meeting - Footer
55
+ footer_leave_btn: 'footer-leave-button',
56
+
57
+ leave_icon: 'leave-icon',
58
+ leave_description: 'leave-description',
59
+ leave_cta: 'leave-cta',
60
+
61
+ stop_icon: 'stop-icon',
62
+
63
+ end_session_description: 'end-session-description',
64
+ end_session_cta: 'end-session-cta',
65
+
66
+ end_stream_description: 'end-stream-description',
67
+ end_stream_cta: 'end-stream-cta',
68
+
69
+ end_confirmation_close_btn: 'end-confirmation-close-btn',
70
+ end_confirmation_cta: 'end-confirmation-cta',
71
+ end_confirmation_heading: 'end-confirmation-heading',
72
+ end_confirmation_description: 'end-confirmation-description',
73
+
74
+ hand_raise_btn: 'hand-raise-button',
75
+ hand_raised_btn: 'hand-raised-button',
76
+
77
+ open_chat_btn: 'open-chat-button',
78
+ close_chat_btn: 'close-chat-button',
79
+ enter_message_input: 'enter-message-input',
80
+ send_message_cta: 'send-message-cta',
81
+
82
+ room_options_btn: 'room-options-button',
83
+ room_modal_heading: 'room-modal-heading',
84
+ room_modal_close_btn: 'room-modal-close-button',
85
+
86
+ room_modal_participants_btn: 'room-modal-participants-button',
87
+
88
+ room_modal_share_screen_btn: 'room-modal-share-screen-button',
89
+ room_modal_stop_screen_share_btn: 'room-modal-stop-screen-share-button',
90
+
91
+ room_modal_brb_btn: 'room-modal-brb-button',
92
+ room_modal_stop_brb_btn: 'room-modal-stop-brb-button',
93
+
94
+ room_modal_hand_raise_btn: 'room-modal-hand-raise-button',
95
+ room_modal_hand_raised_btn: 'room-modal-hand-raised-button',
96
+
97
+ room_modal_start_recording_btn: 'room-modal-start-recording-button',
98
+ room_modal_stop_recording_btn: 'room-modal-stop-recording-button',
99
+
100
+ room_modal_change_name_btn: 'room-modal-change-name-button',
101
+
102
+ // Participants And Chat Modal
103
+ participants_heading: 'participants-heading',
104
+ participants_heading_active: 'participants-heading--active',
105
+ participants_heading_btn: 'participants-heading-button',
106
+
107
+ chat_heading: 'chat-heading',
108
+ chat_heading_active: 'chat-heading--active',
109
+ chat_heading_btn: 'chat-heading-button',
110
+
111
+ participants_close_btn: 'participants-close-button',
112
+
113
+ search_participant_input: 'search-participant-input',
114
+
115
+ participants_group_name: 'participants-group-name',
116
+ participants_group_back_btn: 'participants-group-back-button',
117
+ participants_group_expand_btn: 'participants-group-expand-button',
118
+ participants_group_collapse_btn: 'participants-group-collapse-button',
119
+
120
+ participant_name: 'participant-name',
121
+
122
+ // Audio Output Modal
123
+ audio_modal_heading: 'audio-modal-heading',
124
+ audio_modal_close_btn: 'audio-modal-close-button',
125
+ audio_modal_empty_text: 'audio-modal-empty-text',
126
+
127
+ automatic_audio_device_btn: 'automatic-audio-device-button',
128
+ automatic_audio_device_text: 'automatic-audio-device-text',
129
+ automatic_audio_device_active: 'automatic-audio-device--active',
130
+
131
+ phone_speaker_audio_device_btn: 'phone-speaker-audio-device-button',
132
+ phone_speaker_audio_device_text: 'phone-speaker-audio-device-text',
133
+ phone_speaker_audio_device_active: 'phone-speaker-audio-device--active',
134
+
135
+ wired_headset_audio_device_btn: 'wired-headset-audio-device-button',
136
+ wired_headset_audio_device_text: 'wired-headset-audio-device-text',
137
+ wired_headset_audio_device_active: 'wired-headset-audio-device--active',
138
+
139
+ earpiece_audio_device_btn: 'earpiece-audio-device-button',
140
+ earpiece_audio_device_text: 'earpiece-audio-device-text',
141
+ earpiece_audio_device_active: 'earpiece-audio-device--active',
142
+
143
+ bluetooth_audio_device_btn: 'bluetooth-audio-device-button',
144
+ bluetooth_audio_device_text: 'bluetooth-audio-device-text',
145
+ bluetooth_audio_device_active: 'bluetooth-audio-device--active',
146
+ } as const;