forked from Ivasoft/mattermost-mobile
47 lines
1.6 KiB
TypeScript
47 lines
1.6 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
import {PostOptionsScreen} from '@support/ui/screen';
|
|
import {timeouts} from '@support/utils';
|
|
import {expect} from 'detox';
|
|
|
|
class EditPostScreen {
|
|
testID = {
|
|
editPostScreen: 'edit_post.screen',
|
|
closeButton: 'close.edit_post.button',
|
|
saveButton: 'edit_post.save.button',
|
|
messageInput: 'edit_post.message.input',
|
|
messageInputError: 'edit_post.message.input.error',
|
|
messageInputErrorExtra: 'edit_post.message.input.error.extra',
|
|
};
|
|
|
|
editPostScreen = element(by.id(this.testID.editPostScreen));
|
|
closeButton = element(by.id(this.testID.closeButton));
|
|
saveButton = element(by.id(this.testID.saveButton));
|
|
messageInput = element(by.id(this.testID.messageInput));
|
|
messageInputError = element(by.id(this.testID.messageInputError));
|
|
messageInputErrorExtra = element(by.id(this.testID.messageInputErrorExtra));
|
|
|
|
toBeVisible = async () => {
|
|
await waitFor(this.editPostScreen).toExist().withTimeout(timeouts.TEN_SEC);
|
|
await waitFor(this.messageInput).toBeVisible().withTimeout(timeouts.TEN_SEC);
|
|
|
|
return this.editPostScreen;
|
|
};
|
|
|
|
open = async () => {
|
|
// # Open edit post screen
|
|
await PostOptionsScreen.editPostOption.tap();
|
|
|
|
return this.toBeVisible();
|
|
};
|
|
|
|
close = async () => {
|
|
await this.closeButton.tap();
|
|
await expect(this.editPostScreen).not.toBeVisible();
|
|
};
|
|
}
|
|
|
|
const editPostScreen = new EditPostScreen();
|
|
export default editPostScreen;
|