Allow knocking rooms (#11353)
Signed-off-by: Charly Nguyen <charly.nguyen@nordeck.net>
This commit is contained in:
parent
e6af09e424
commit
5152aad059
18 changed files with 689 additions and 7 deletions
|
@ -425,4 +425,60 @@ describe("<RoomPreviewBar />", () => {
|
|||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe("message case AskToJoin", () => {
|
||||
it("renders the corresponding message", () => {
|
||||
const component = getComponent({ promptAskToJoin: true });
|
||||
expect(getMessage(component)).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("renders the corresponding message with a generic title", () => {
|
||||
const component = render(<RoomPreviewBar promptAskToJoin />);
|
||||
expect(getMessage(component)).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("renders the corresponding actions", () => {
|
||||
const component = getComponent({ promptAskToJoin: true });
|
||||
expect(getActions(component)).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("triggers the primary action callback", () => {
|
||||
const onSubmitAskToJoin = jest.fn();
|
||||
const component = getComponent({ promptAskToJoin: true, onSubmitAskToJoin });
|
||||
|
||||
fireEvent.click(getPrimaryActionButton(component)!);
|
||||
expect(onSubmitAskToJoin).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("triggers the primary action callback with a reason", () => {
|
||||
const onSubmitAskToJoin = jest.fn();
|
||||
const reason = "some reason";
|
||||
const component = getComponent({ promptAskToJoin: true, onSubmitAskToJoin });
|
||||
|
||||
fireEvent.change(component.container.querySelector("textarea")!, { target: { value: reason } });
|
||||
fireEvent.click(getPrimaryActionButton(component)!);
|
||||
|
||||
expect(onSubmitAskToJoin).toHaveBeenCalledWith(reason);
|
||||
});
|
||||
});
|
||||
|
||||
describe("message case Knocked", () => {
|
||||
it("renders the corresponding message", () => {
|
||||
const component = getComponent({ knocked: true });
|
||||
expect(getMessage(component)).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("renders the corresponding actions", () => {
|
||||
const component = getComponent({ knocked: true, onCancelAskToJoin: () => {} });
|
||||
expect(getActions(component)).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("triggers the secondary action callback", () => {
|
||||
const onCancelAskToJoin = jest.fn();
|
||||
const component = getComponent({ knocked: true, onCancelAskToJoin });
|
||||
|
||||
fireEvent.click(getSecondaryActionButton(component)!);
|
||||
expect(onCancelAskToJoin).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -83,6 +83,9 @@ describe("<SendMessageComposer/>", () => {
|
|||
narrow: false,
|
||||
activeCall: null,
|
||||
msc3946ProcessDynamicPredecessor: false,
|
||||
canAskToJoin: false,
|
||||
promptAskToJoin: false,
|
||||
knocked: false,
|
||||
};
|
||||
describe("createMessageContent", () => {
|
||||
const permalinkCreator = jest.fn() as any;
|
||||
|
|
|
@ -1,5 +1,121 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`<RoomPreviewBar /> message case AskToJoin renders the corresponding actions 1`] = `
|
||||
<div
|
||||
class="mx_RoomPreviewBar_actions mx_RoomPreviewBar_fullWidth"
|
||||
>
|
||||
<div
|
||||
class="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_primary"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
>
|
||||
Request access
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`<RoomPreviewBar /> message case AskToJoin renders the corresponding message 1`] = `
|
||||
<div
|
||||
class="mx_RoomPreviewBar_message"
|
||||
>
|
||||
<h3>
|
||||
Ask to join RoomPreviewBar-test-room?
|
||||
</h3>
|
||||
<p>
|
||||
<span
|
||||
class="mx_BaseAvatar"
|
||||
role="presentation"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="mx_BaseAvatar_initial"
|
||||
style="font-size: 23.400000000000002px; width: 36px; line-height: 36px;"
|
||||
>
|
||||
R
|
||||
</span>
|
||||
<img
|
||||
alt=""
|
||||
aria-hidden="true"
|
||||
class="mx_BaseAvatar_image"
|
||||
data-testid="avatar-img"
|
||||
loading="lazy"
|
||||
src="data:image/png;base64,00"
|
||||
style="width: 36px; height: 36px;"
|
||||
/>
|
||||
</span>
|
||||
</p>
|
||||
<p>
|
||||
You need to be granted access to this room in order to view or participate in the conversation. You can send a request to join below.
|
||||
</p>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`<RoomPreviewBar /> message case AskToJoin renders the corresponding message with a generic title 1`] = `
|
||||
<div
|
||||
class="mx_RoomPreviewBar_message"
|
||||
>
|
||||
<h3>
|
||||
Ask to join?
|
||||
</h3>
|
||||
<p>
|
||||
<span
|
||||
class="mx_BaseAvatar"
|
||||
role="presentation"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
class="mx_BaseAvatar_initial"
|
||||
style="font-size: 23.400000000000002px; width: 36px; line-height: 36px;"
|
||||
>
|
||||
?
|
||||
</span>
|
||||
<img
|
||||
alt=""
|
||||
aria-hidden="true"
|
||||
class="mx_BaseAvatar_image"
|
||||
data-testid="avatar-img"
|
||||
loading="lazy"
|
||||
src="data:image/png;base64,00"
|
||||
style="width: 36px; height: 36px;"
|
||||
/>
|
||||
</span>
|
||||
</p>
|
||||
<p>
|
||||
You need to be granted access to this room in order to view or participate in the conversation. You can send a request to join below.
|
||||
</p>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`<RoomPreviewBar /> message case Knocked renders the corresponding actions 1`] = `
|
||||
<div
|
||||
class="mx_RoomPreviewBar_actions"
|
||||
>
|
||||
<div
|
||||
class="mx_AccessibleButton mx_AccessibleButton_hasKind mx_AccessibleButton_kind_secondary"
|
||||
role="button"
|
||||
tabindex="0"
|
||||
>
|
||||
Cancel request
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`<RoomPreviewBar /> message case Knocked renders the corresponding message 1`] = `
|
||||
<div
|
||||
class="mx_RoomPreviewBar_message"
|
||||
>
|
||||
<h3>
|
||||
Request to join sent
|
||||
</h3>
|
||||
<p>
|
||||
<div
|
||||
class="mx_Icon mx_Icon_16 mx_RoomPreviewBar_icon"
|
||||
/>
|
||||
Your request to join is pending.
|
||||
</p>
|
||||
</div>
|
||||
`;
|
||||
|
||||
exports[`<RoomPreviewBar /> renders banned message 1`] = `
|
||||
<div
|
||||
class="mx_RoomPreviewBar_message"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue