stream-chat-react-native-core 6.6.8 → 6.6.9-beta.1
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.
- package/README.md +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +16 -3
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +16 -3
- package/lib/module/components/Message/MessageSimple/MessageStatus.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Message/MessageSimple/MessageStatus.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Message/MessageSimple/MessageStatus.tsx +16 -3
- package/src/components/Message/MessageSimple/__tests__/MessageStatus.test.js +59 -24
- package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageStatus.test.js.snap +105 -87
- package/src/version.json +1 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
[](https://www.npmjs.com/package/stream-chat-react-native)
|
|
11
11
|
[](https://github.com/GetStream/stream-chat-react-native/actions)
|
|
12
12
|
[](https://getstream.io/chat/docs/sdk/reactnative)
|
|
13
|
-

|
|
14
14
|
|
|
15
15
|
<img align="right" src="https://getstream.imgix.net/images/ios-chat-tutorial/iphone_chat_art@3x.png?auto=format,enhance" width="50%" />
|
|
16
16
|
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
exports.MessageStatus = void 0;
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
+
var _ChannelContext = require("../../../contexts/channelContext/ChannelContext");
|
|
8
9
|
var _MessageContext = require("../../../contexts/messageContext/MessageContext");
|
|
9
10
|
var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
10
11
|
var _Check = require("../../../icons/Check");
|
|
@@ -16,6 +17,8 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
16
17
|
var _this = this,
|
|
17
18
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageStatus.tsx";
|
|
18
19
|
var MessageStatusWithContext = function MessageStatusWithContext(props) {
|
|
20
|
+
var _useChannelContext = (0, _ChannelContext.useChannelContext)(),
|
|
21
|
+
channel = _useChannelContext.channel;
|
|
19
22
|
var message = props.message,
|
|
20
23
|
threadList = props.threadList;
|
|
21
24
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
@@ -40,15 +43,25 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
|
|
|
40
43
|
return null;
|
|
41
44
|
}
|
|
42
45
|
if ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message)) {
|
|
46
|
+
var members = channel == null ? void 0 : channel.state.members;
|
|
47
|
+
var otherMembers = Object.values(members).filter(function (member) {
|
|
48
|
+
var _message$user;
|
|
49
|
+
return member.user_id !== ((_message$user = message.user) == null ? void 0 : _message$user.id);
|
|
50
|
+
});
|
|
51
|
+
var hasOtherMembersGreaterThanOne = otherMembers.length > 1;
|
|
52
|
+
var hasReadByGreaterThanOne = typeof message.readBy === 'number' && message.readBy > 1;
|
|
53
|
+
var shouldDisplayReadByCount = hasOtherMembersGreaterThanOne && hasReadByGreaterThanOne;
|
|
54
|
+
var countOfReadBy = typeof message.readBy === 'number' && hasOtherMembersGreaterThanOne ? message.readBy - 1 : 0;
|
|
55
|
+
var showDoubleCheck = hasReadByGreaterThanOne || message.readBy === true;
|
|
43
56
|
return (0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
44
57
|
style: [styles.statusContainer, statusContainer],
|
|
45
|
-
children: [
|
|
58
|
+
children: [shouldDisplayReadByCount ? (0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
46
59
|
style: [styles.readByCount, {
|
|
47
60
|
color: accent_blue
|
|
48
61
|
}, readByCount],
|
|
49
62
|
testID: "read-by-container",
|
|
50
|
-
children:
|
|
51
|
-
}) : null, message.type !== 'error' ?
|
|
63
|
+
children: countOfReadBy
|
|
64
|
+
}) : null, message.type !== 'error' ? showDoubleCheck ? (0, _jsxRuntime.jsx)(_CheckAll.CheckAll, Object.assign({
|
|
52
65
|
pathFill: accent_blue
|
|
53
66
|
}, checkAllIcon)) : (0, _jsxRuntime.jsx)(_Check.Check, Object.assign({
|
|
54
67
|
pathFill: grey_dark
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_jsxRuntime","_this","_jsxFileName","MessageStatusWithContext","props","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","readByCount","statusContainer","timeIcon","MessageStatusTypes","SENDING","jsx","View","style","styles","testID","children","Time","Object","assign","FAILED","isMessageWithStylesReadByAndDateSeparator","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChannelContext","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_jsxRuntime","_this","_jsxFileName","MessageStatusWithContext","props","_useChannelContext","useChannelContext","channel","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","readByCount","statusContainer","timeIcon","MessageStatusTypes","SENDING","jsx","View","style","styles","testID","children","Time","Object","assign","FAILED","isMessageWithStylesReadByAndDateSeparator","members","state","otherMembers","values","filter","member","_message$user","user_id","user","id","hasOtherMembersGreaterThanOne","length","hasReadByGreaterThanOne","readBy","shouldDisplayReadByCount","countOfReadBy","showDoubleCheck","jsxs","Text","color","type","CheckAll","pathFill","Check","RECEIVED","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","exports","_useMessageContext","useMessageContext","displayName","StyleSheet","create","fontSize","fontWeight","paddingRight","alignItems","flexDirection","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Message/MessageSimple/MessageStatus.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
exports.MessageStatus = void 0;
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
|
+
var _ChannelContext = require("../../../contexts/channelContext/ChannelContext");
|
|
8
9
|
var _MessageContext = require("../../../contexts/messageContext/MessageContext");
|
|
9
10
|
var _ThemeContext = require("../../../contexts/themeContext/ThemeContext");
|
|
10
11
|
var _Check = require("../../../icons/Check");
|
|
@@ -16,6 +17,8 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
16
17
|
var _this = this,
|
|
17
18
|
_jsxFileName = "/home/runner/work/stream-chat-react-native/stream-chat-react-native/package/src/components/Message/MessageSimple/MessageStatus.tsx";
|
|
18
19
|
var MessageStatusWithContext = function MessageStatusWithContext(props) {
|
|
20
|
+
var _useChannelContext = (0, _ChannelContext.useChannelContext)(),
|
|
21
|
+
channel = _useChannelContext.channel;
|
|
19
22
|
var message = props.message,
|
|
20
23
|
threadList = props.threadList;
|
|
21
24
|
var _useTheme = (0, _ThemeContext.useTheme)(),
|
|
@@ -40,15 +43,25 @@ var MessageStatusWithContext = function MessageStatusWithContext(props) {
|
|
|
40
43
|
return null;
|
|
41
44
|
}
|
|
42
45
|
if ((0, _useMessageList.isMessageWithStylesReadByAndDateSeparator)(message)) {
|
|
46
|
+
var members = channel == null ? void 0 : channel.state.members;
|
|
47
|
+
var otherMembers = Object.values(members).filter(function (member) {
|
|
48
|
+
var _message$user;
|
|
49
|
+
return member.user_id !== ((_message$user = message.user) == null ? void 0 : _message$user.id);
|
|
50
|
+
});
|
|
51
|
+
var hasOtherMembersGreaterThanOne = otherMembers.length > 1;
|
|
52
|
+
var hasReadByGreaterThanOne = typeof message.readBy === 'number' && message.readBy > 1;
|
|
53
|
+
var shouldDisplayReadByCount = hasOtherMembersGreaterThanOne && hasReadByGreaterThanOne;
|
|
54
|
+
var countOfReadBy = typeof message.readBy === 'number' && hasOtherMembersGreaterThanOne ? message.readBy - 1 : 0;
|
|
55
|
+
var showDoubleCheck = hasReadByGreaterThanOne || message.readBy === true;
|
|
43
56
|
return (0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
44
57
|
style: [styles.statusContainer, statusContainer],
|
|
45
|
-
children: [
|
|
58
|
+
children: [shouldDisplayReadByCount ? (0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
46
59
|
style: [styles.readByCount, {
|
|
47
60
|
color: accent_blue
|
|
48
61
|
}, readByCount],
|
|
49
62
|
testID: "read-by-container",
|
|
50
|
-
children:
|
|
51
|
-
}) : null, message.type !== 'error' ?
|
|
63
|
+
children: countOfReadBy
|
|
64
|
+
}) : null, message.type !== 'error' ? showDoubleCheck ? (0, _jsxRuntime.jsx)(_CheckAll.CheckAll, Object.assign({
|
|
52
65
|
pathFill: accent_blue
|
|
53
66
|
}, checkAllIcon)) : (0, _jsxRuntime.jsx)(_Check.Check, Object.assign({
|
|
54
67
|
pathFill: grey_dark
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_jsxRuntime","_this","_jsxFileName","MessageStatusWithContext","props","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","readByCount","statusContainer","timeIcon","MessageStatusTypes","SENDING","jsx","View","style","styles","testID","children","Time","Object","assign","FAILED","isMessageWithStylesReadByAndDateSeparator","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_ChannelContext","_MessageContext","_ThemeContext","_Check","_CheckAll","_Time","_utils","_useMessageList","_jsxRuntime","_this","_jsxFileName","MessageStatusWithContext","props","_useChannelContext","useChannelContext","channel","message","threadList","_useTheme","useTheme","_useTheme$theme","theme","_useTheme$theme$color","colors","accent_blue","grey_dark","_useTheme$theme$messa","messageSimple","status","checkAllIcon","checkIcon","readByCount","statusContainer","timeIcon","MessageStatusTypes","SENDING","jsx","View","style","styles","testID","children","Time","Object","assign","FAILED","isMessageWithStylesReadByAndDateSeparator","members","state","otherMembers","values","filter","member","_message$user","user_id","user","id","hasOtherMembersGreaterThanOne","length","hasReadByGreaterThanOne","readBy","shouldDisplayReadByCount","countOfReadBy","showDoubleCheck","jsxs","Text","color","type","CheckAll","pathFill","Check","RECEIVED","areEqual","prevProps","nextProps","prevMessage","prevThreadList","nextMessage","nextThreadList","threadListEqual","messageEqual","MemoizedMessageStatus","React","memo","MessageStatus","exports","_useMessageContext","useMessageContext","displayName","StyleSheet","create","fontSize","fontWeight","paddingRight","alignItems","flexDirection","justifyContent"],"sourceRoot":"../../../../../src","sources":["components/Message/MessageSimple/MessageStatus.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageStatus.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/MessageSimple/MessageStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageStatus.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/MessageSimple/MessageStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EACL,mBAAmB,EAEpB,MAAM,iDAAiD,CAAC;AAKzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAKtE,MAAM,MAAM,6BAA6B,CACvC,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;AAwG5E,MAAM,MAAM,kBAAkB,CAC5B,kBAAkB,SAAS,yBAAyB,GAAG,yBAAyB,IAC9E,OAAO,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAE/D,eAAO,MAAM,aAAa;KACxB,kBAAkB,SAAS,yBAAyB,qCAE7C,kBAAkB,CAAC,kBAAkB,CAAC;;CAK9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "6.6.
|
|
4
|
+
"version": "6.6.9-beta.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { StyleSheet, Text, View } from 'react-native';
|
|
3
3
|
|
|
4
|
+
import { useChannelContext } from '../../../contexts/channelContext/ChannelContext';
|
|
4
5
|
import {
|
|
5
6
|
MessageContextValue,
|
|
6
7
|
useMessageContext,
|
|
@@ -23,6 +24,7 @@ const MessageStatusWithContext = <
|
|
|
23
24
|
>(
|
|
24
25
|
props: MessageStatusPropsWithContext<StreamChatGenerics>,
|
|
25
26
|
) => {
|
|
27
|
+
const { channel } = useChannelContext<StreamChatGenerics>();
|
|
26
28
|
const { message, threadList } = props;
|
|
27
29
|
|
|
28
30
|
const {
|
|
@@ -47,18 +49,29 @@ const MessageStatusWithContext = <
|
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
if (isMessageWithStylesReadByAndDateSeparator(message)) {
|
|
52
|
+
const members = channel?.state.members;
|
|
53
|
+
const otherMembers = Object.values(members).filter(
|
|
54
|
+
(member) => member.user_id !== message.user?.id,
|
|
55
|
+
);
|
|
56
|
+
const hasOtherMembersGreaterThanOne = otherMembers.length > 1;
|
|
57
|
+
const hasReadByGreaterThanOne = typeof message.readBy === 'number' && message.readBy > 1;
|
|
58
|
+
const shouldDisplayReadByCount = hasOtherMembersGreaterThanOne && hasReadByGreaterThanOne;
|
|
59
|
+
const countOfReadBy =
|
|
60
|
+
typeof message.readBy === 'number' && hasOtherMembersGreaterThanOne ? message.readBy - 1 : 0;
|
|
61
|
+
const showDoubleCheck = hasReadByGreaterThanOne || message.readBy === true;
|
|
62
|
+
|
|
50
63
|
return (
|
|
51
64
|
<View style={[styles.statusContainer, statusContainer]}>
|
|
52
|
-
{
|
|
65
|
+
{shouldDisplayReadByCount ? (
|
|
53
66
|
<Text
|
|
54
67
|
style={[styles.readByCount, { color: accent_blue }, readByCount]}
|
|
55
68
|
testID='read-by-container'
|
|
56
69
|
>
|
|
57
|
-
{
|
|
70
|
+
{countOfReadBy}
|
|
58
71
|
</Text>
|
|
59
72
|
) : null}
|
|
60
73
|
{message.type !== 'error' ? (
|
|
61
|
-
|
|
74
|
+
showDoubleCheck ? (
|
|
62
75
|
<CheckAll pathFill={accent_blue} {...checkAllIcon} />
|
|
63
76
|
) : (
|
|
64
77
|
<Check pathFill={grey_dark} {...checkIcon} />
|
|
@@ -2,6 +2,12 @@ import React from 'react';
|
|
|
2
2
|
|
|
3
3
|
import { cleanup, render, waitFor } from '@testing-library/react-native';
|
|
4
4
|
|
|
5
|
+
import { Channel } from '../../..';
|
|
6
|
+
import { ChannelsStateProvider } from '../../../../contexts/channelsStateContext/ChannelsStateContext';
|
|
7
|
+
import { getOrCreateChannelApi } from '../../../../mock-builders/api/getOrCreateChannel';
|
|
8
|
+
import { useMockedApis } from '../../../../mock-builders/api/useMockedApis';
|
|
9
|
+
import { generateChannelResponse } from '../../../../mock-builders/generator/channel';
|
|
10
|
+
import { generateMember } from '../../../../mock-builders/generator/member';
|
|
5
11
|
import { generateMessage } from '../../../../mock-builders/generator/message';
|
|
6
12
|
import { generateStaticUser, generateUser } from '../../../../mock-builders/generator/user';
|
|
7
13
|
import { getTestClientWithUser } from '../../../../mock-builders/mock';
|
|
@@ -10,26 +16,54 @@ import { Chat } from '../../../Chat/Chat';
|
|
|
10
16
|
import { MessageStatus } from '../MessageStatus';
|
|
11
17
|
|
|
12
18
|
let chatClient;
|
|
13
|
-
let id;
|
|
14
19
|
let i18nInstance;
|
|
15
|
-
|
|
20
|
+
let channel;
|
|
16
21
|
describe('MessageStatus', () => {
|
|
17
|
-
|
|
22
|
+
const user1 = generateUser({ id: 'id1', name: 'name1' });
|
|
23
|
+
const user2 = generateUser({ id: 'id2', name: 'name2' });
|
|
24
|
+
const user3 = generateUser({ id: 'id3', name: 'name3' });
|
|
25
|
+
const messages = [generateMessage({ user: user1 })];
|
|
26
|
+
const members = [
|
|
27
|
+
generateMember({ user: user1 }),
|
|
28
|
+
generateMember({ user: user2 }),
|
|
29
|
+
generateMember({ user: user3 }),
|
|
30
|
+
];
|
|
31
|
+
beforeAll(() => {
|
|
18
32
|
id = 'testID';
|
|
19
|
-
chatClient = await getTestClientWithUser({ id });
|
|
20
33
|
i18nInstance = new Streami18n();
|
|
21
34
|
});
|
|
35
|
+
beforeEach(async () => {
|
|
36
|
+
jest.clearAllMocks();
|
|
37
|
+
const mockedChannel = generateChannelResponse({
|
|
38
|
+
members,
|
|
39
|
+
messages,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
chatClient = await getTestClientWithUser(user1);
|
|
43
|
+
useMockedApis(chatClient, [getOrCreateChannelApi(mockedChannel)]);
|
|
44
|
+
channel = chatClient.channel('messaging', mockedChannel.id);
|
|
45
|
+
});
|
|
22
46
|
afterEach(cleanup);
|
|
23
47
|
|
|
48
|
+
renderMessageStatus = (options, channelProps) =>
|
|
49
|
+
render(
|
|
50
|
+
<ChannelsStateProvider>
|
|
51
|
+
<Chat client={chatClient}>
|
|
52
|
+
<Channel channel={channel} {...channelProps}>
|
|
53
|
+
<MessageStatus {...options} />
|
|
54
|
+
</Channel>
|
|
55
|
+
</Chat>
|
|
56
|
+
</ChannelsStateProvider>,
|
|
57
|
+
);
|
|
58
|
+
|
|
24
59
|
it('should render message status with delivered container', async () => {
|
|
25
60
|
const user = generateUser();
|
|
26
61
|
const message = generateMessage({ user });
|
|
27
62
|
|
|
28
|
-
const { getByTestId } =
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
);
|
|
63
|
+
const { getByTestId } = renderMessageStatus({
|
|
64
|
+
lastReceivedId: message.id,
|
|
65
|
+
message: { ...message, status: 'received' },
|
|
66
|
+
});
|
|
33
67
|
|
|
34
68
|
await waitFor(() => {
|
|
35
69
|
expect(getByTestId('delivered-container')).toBeTruthy();
|
|
@@ -40,30 +74,33 @@ describe('MessageStatus', () => {
|
|
|
40
74
|
const user = generateUser();
|
|
41
75
|
const message = generateMessage({ readBy: 2, user });
|
|
42
76
|
|
|
43
|
-
const { getByTestId, getByText, rerender, toJSON } =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
);
|
|
77
|
+
const { getByTestId, getByText, rerender, toJSON } = renderMessageStatus({
|
|
78
|
+
lastReceivedId: message.id,
|
|
79
|
+
message,
|
|
80
|
+
});
|
|
48
81
|
|
|
49
82
|
await waitFor(() => {
|
|
50
83
|
expect(getByTestId('read-by-container')).toBeTruthy();
|
|
51
|
-
expect(getByText(message.readBy.toString())).toBeTruthy();
|
|
84
|
+
expect(getByText((message.readBy - 1).toString())).toBeTruthy();
|
|
52
85
|
});
|
|
53
86
|
|
|
54
87
|
const staticUser = generateStaticUser(0);
|
|
55
88
|
const staticMessage = generateMessage({ readBy: 2, staticUser });
|
|
56
89
|
|
|
57
90
|
rerender(
|
|
58
|
-
<
|
|
59
|
-
<
|
|
60
|
-
|
|
91
|
+
<ChannelsStateProvider>
|
|
92
|
+
<Chat client={chatClient} i18nInstance={i18nInstance}>
|
|
93
|
+
<Channel channel={channel}>
|
|
94
|
+
<MessageStatus lastReceivedId={staticMessage.id} message={staticMessage} />
|
|
95
|
+
</Channel>
|
|
96
|
+
</Chat>
|
|
97
|
+
</ChannelsStateProvider>,
|
|
61
98
|
);
|
|
62
99
|
|
|
63
100
|
await waitFor(() => {
|
|
64
101
|
expect(toJSON()).toMatchSnapshot();
|
|
65
102
|
expect(getByTestId('read-by-container')).toBeTruthy();
|
|
66
|
-
expect(getByText(staticMessage.readBy.toString())).toBeTruthy();
|
|
103
|
+
expect(getByText((staticMessage.readBy - 1).toString())).toBeTruthy();
|
|
67
104
|
});
|
|
68
105
|
});
|
|
69
106
|
|
|
@@ -71,11 +108,9 @@ describe('MessageStatus', () => {
|
|
|
71
108
|
const user = generateUser();
|
|
72
109
|
const message = generateMessage({ user });
|
|
73
110
|
|
|
74
|
-
const { getByTestId } =
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
</Chat>,
|
|
78
|
-
);
|
|
111
|
+
const { getByTestId } = renderMessageStatus({
|
|
112
|
+
message: { ...message, status: 'sending' },
|
|
113
|
+
});
|
|
79
114
|
|
|
80
115
|
await waitFor(() => {
|
|
81
116
|
expect(getByTestId('sending-container')).toBeTruthy();
|
package/src/components/Message/MessageSimple/__tests__/__snapshots__/MessageStatus.test.js.snap
CHANGED
|
@@ -2,106 +2,124 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`MessageStatus should render message status with read by container 1`] = `
|
|
4
4
|
<View
|
|
5
|
+
keyboardVerticalOffset={86.5}
|
|
6
|
+
onLayout={[Function]}
|
|
5
7
|
style={
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"flexDirection": "row",
|
|
10
|
-
"justifyContent": "center",
|
|
11
|
-
"paddingRight": 3,
|
|
12
|
-
},
|
|
13
|
-
{},
|
|
14
|
-
]
|
|
8
|
+
{
|
|
9
|
+
"paddingBottom": 0,
|
|
10
|
+
}
|
|
15
11
|
}
|
|
16
12
|
>
|
|
17
|
-
<
|
|
18
|
-
style={
|
|
19
|
-
[
|
|
20
|
-
{
|
|
21
|
-
"fontSize": 11,
|
|
22
|
-
"fontWeight": "700",
|
|
23
|
-
"paddingRight": 3,
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"color": "#005FFF",
|
|
27
|
-
},
|
|
28
|
-
{},
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
testID="read-by-container"
|
|
32
|
-
>
|
|
33
|
-
2
|
|
34
|
-
</Text>
|
|
35
|
-
<RNSVGSvgView
|
|
36
|
-
align="xMidYMid"
|
|
37
|
-
bbHeight={16}
|
|
38
|
-
bbWidth={16}
|
|
39
|
-
focusable={false}
|
|
40
|
-
height={16}
|
|
41
|
-
meetOrSlice={0}
|
|
42
|
-
minX={0}
|
|
43
|
-
minY={0}
|
|
44
|
-
pathFill="#005FFF"
|
|
13
|
+
<View
|
|
45
14
|
style={
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"borderWidth": 0,
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"flex": 0,
|
|
53
|
-
"height": 16,
|
|
54
|
-
"width": 16,
|
|
55
|
-
},
|
|
56
|
-
]
|
|
15
|
+
{
|
|
16
|
+
"height": "100%",
|
|
17
|
+
}
|
|
57
18
|
}
|
|
58
|
-
vbHeight={24}
|
|
59
|
-
vbWidth={24}
|
|
60
|
-
width={16}
|
|
61
19
|
>
|
|
62
|
-
<
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
20
|
+
<View
|
|
21
|
+
style={
|
|
22
|
+
[
|
|
23
|
+
{
|
|
24
|
+
"alignItems": "flex-end",
|
|
25
|
+
"flexDirection": "row",
|
|
26
|
+
"justifyContent": "center",
|
|
27
|
+
"paddingRight": 3,
|
|
28
|
+
},
|
|
29
|
+
{},
|
|
30
|
+
]
|
|
68
31
|
}
|
|
69
32
|
>
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
d="M2.293 11.293a1 1 0 011.414 0l4 4a1 1 0 11-1.414 1.414l-4-4a1 1 0 010-1.414zM9.293 12.293a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414l-3-3a1 1 0 010-1.414z"
|
|
73
|
-
fill={
|
|
74
|
-
{
|
|
75
|
-
"payload": 4278214655,
|
|
76
|
-
"type": 0,
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
fillRule={0}
|
|
80
|
-
propList={
|
|
33
|
+
<Text
|
|
34
|
+
style={
|
|
81
35
|
[
|
|
82
|
-
|
|
83
|
-
|
|
36
|
+
{
|
|
37
|
+
"fontSize": 11,
|
|
38
|
+
"fontWeight": "700",
|
|
39
|
+
"paddingRight": 3,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"color": "#005FFF",
|
|
43
|
+
},
|
|
44
|
+
{},
|
|
84
45
|
]
|
|
85
46
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
|
|
47
|
+
testID="read-by-container"
|
|
48
|
+
>
|
|
49
|
+
1
|
|
50
|
+
</Text>
|
|
51
|
+
<RNSVGSvgView
|
|
52
|
+
align="xMidYMid"
|
|
53
|
+
bbHeight={16}
|
|
54
|
+
bbWidth={16}
|
|
55
|
+
focusable={false}
|
|
56
|
+
height={16}
|
|
57
|
+
meetOrSlice={0}
|
|
58
|
+
minX={0}
|
|
59
|
+
minY={0}
|
|
60
|
+
pathFill="#005FFF"
|
|
61
|
+
style={
|
|
98
62
|
[
|
|
99
|
-
|
|
100
|
-
|
|
63
|
+
{
|
|
64
|
+
"backgroundColor": "transparent",
|
|
65
|
+
"borderWidth": 0,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"flex": 0,
|
|
69
|
+
"height": 16,
|
|
70
|
+
"width": 16,
|
|
71
|
+
},
|
|
101
72
|
]
|
|
102
73
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
74
|
+
vbHeight={24}
|
|
75
|
+
vbWidth={24}
|
|
76
|
+
width={16}
|
|
77
|
+
>
|
|
78
|
+
<RNSVGGroup
|
|
79
|
+
fill={
|
|
80
|
+
{
|
|
81
|
+
"payload": 4278190080,
|
|
82
|
+
"type": 0,
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
>
|
|
86
|
+
<RNSVGPath
|
|
87
|
+
clipRule={0}
|
|
88
|
+
d="M2.293 11.293a1 1 0 011.414 0l4 4a1 1 0 11-1.414 1.414l-4-4a1 1 0 010-1.414zM9.293 12.293a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414l-3-3a1 1 0 010-1.414z"
|
|
89
|
+
fill={
|
|
90
|
+
{
|
|
91
|
+
"payload": 4278214655,
|
|
92
|
+
"type": 0,
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
fillRule={0}
|
|
96
|
+
propList={
|
|
97
|
+
[
|
|
98
|
+
"fill",
|
|
99
|
+
"fillRule",
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
/>
|
|
103
|
+
<RNSVGPath
|
|
104
|
+
clipRule={0}
|
|
105
|
+
d="M15.707 7.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414-1.414l8-8a1 1 0 011.414 0zM21.707 7.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414-1.414l8-8a1 1 0 011.414 0z"
|
|
106
|
+
fill={
|
|
107
|
+
{
|
|
108
|
+
"payload": 4278214655,
|
|
109
|
+
"type": 0,
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
fillRule={0}
|
|
113
|
+
propList={
|
|
114
|
+
[
|
|
115
|
+
"fill",
|
|
116
|
+
"fillRule",
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
/>
|
|
120
|
+
</RNSVGGroup>
|
|
121
|
+
</RNSVGSvgView>
|
|
122
|
+
</View>
|
|
123
|
+
</View>
|
|
106
124
|
</View>
|
|
107
125
|
`;
|
package/src/version.json
CHANGED