parent
ed1f189a69
commit
b43d773a57
|
@ -73,6 +73,14 @@ def click_obj(obj):
|
||||||
except LookupError:
|
except LookupError:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
# It executes the right-click action into the given object:
|
||||||
|
def right_click_obj(obj):
|
||||||
|
try:
|
||||||
|
squish.mouseClick(obj, squish.Qt.RightButton)
|
||||||
|
return True
|
||||||
|
except LookupError:
|
||||||
|
return False
|
||||||
|
|
||||||
def get_obj(objName: str):
|
def get_obj(objName: str):
|
||||||
obj = squish.findObject(getattr(names, objName))
|
obj = squish.findObject(getattr(names, objName))
|
||||||
return obj
|
return obj
|
||||||
|
|
|
@ -23,6 +23,7 @@ class MainScreenComponents(Enum):
|
||||||
WALLET_BUTTON = "wallet_navbar_wallet_icon_StatusIcon"
|
WALLET_BUTTON = "wallet_navbar_wallet_icon_StatusIcon"
|
||||||
START_CHAT_BTN = "mainWindow_startChat"
|
START_CHAT_BTN = "mainWindow_startChat"
|
||||||
CHAT_LIST = "chatList_Repeater"
|
CHAT_LIST = "chatList_Repeater"
|
||||||
|
MARK_AS_READ_BUTTON = "mark_as_Read_StatusMenuItemDelegate"
|
||||||
|
|
||||||
class ChatNamePopUp(Enum):
|
class ChatNamePopUp(Enum):
|
||||||
CHAT_NAME_TEXT = "chat_name_PlaceholderText"
|
CHAT_NAME_TEXT = "chat_name_PlaceholderText"
|
||||||
|
@ -54,7 +55,7 @@ class StatusMainScreen:
|
||||||
[loaded, chat_button] = self._find_chat(chatName)
|
[loaded, chat_button] = self._find_chat(chatName)
|
||||||
if loaded:
|
if loaded:
|
||||||
click_obj(chat_button)
|
click_obj(chat_button)
|
||||||
verify(loaded, "Trying to get chat: " + chatName)
|
verify(loaded, "Trying to get chat: " + chatName)
|
||||||
|
|
||||||
def _find_chat(self, chatName: str):
|
def _find_chat(self, chatName: str):
|
||||||
[loaded, chat_lists] = is_loaded(MainScreenComponents.CHAT_LIST.value)
|
[loaded, chat_lists] = is_loaded(MainScreenComponents.CHAT_LIST.value)
|
||||||
|
@ -65,3 +66,9 @@ class StatusMainScreen:
|
||||||
return True, chat
|
return True, chat
|
||||||
return False, None
|
return False, None
|
||||||
|
|
||||||
|
def mark_as_read(self, chatName: str):
|
||||||
|
[loaded, chat_button] = self._find_chat(chatName)
|
||||||
|
if loaded:
|
||||||
|
right_click_obj(chat_button)
|
||||||
|
|
||||||
|
click_obj_by_name(MainScreenComponents.MARK_AS_READ_BUTTON.value)
|
||||||
|
|
|
@ -213,6 +213,8 @@ accountsView_accountListPanel = {"container": statusDesktop_mainWindow, "type":
|
||||||
|
|
||||||
# Main Window - chat related:
|
# Main Window - chat related:
|
||||||
chatList_Repeater = {"container": statusDesktop_mainWindow, "objectName": "chatListItems", "type": "Repeater"}
|
chatList_Repeater = {"container": statusDesktop_mainWindow, "objectName": "chatListItems", "type": "Repeater"}
|
||||||
|
mark_as_Read_StatusMenuItemDelegate = {"container": statusDesktop_mainWindow_overlay, "objectName": "chatMarkAsReadMenuItem", "type": "StatusMenuItemDelegate", "visible": True}
|
||||||
|
|
||||||
|
|
||||||
# Join chat popup:
|
# Join chat popup:
|
||||||
startChat_Btn = {"container": statusDesktop_mainWindow_overlay, "objectName": "startChatButton", "type": "StatusButton"}
|
startChat_Btn = {"container": statusDesktop_mainWindow_overlay, "objectName": "startChatButton", "type": "StatusButton"}
|
||||||
|
|
|
@ -52,4 +52,8 @@ def step(context, message):
|
||||||
@Then("the user can reply to the message at index |any| with \"|any|\"")
|
@Then("the user can reply to the message at index |any| with \"|any|\"")
|
||||||
def step(context, message_index, message):
|
def step(context, message_index, message):
|
||||||
_statusChat.reply_to_message_at_index(message_index, message)
|
_statusChat.reply_to_message_at_index(message_index, message)
|
||||||
_statusChat.verify_last_message_sent(message)
|
_statusChat.verify_last_message_sent(message)
|
||||||
|
|
||||||
|
@Then("the user can mark the channel |any| as read")
|
||||||
|
def step(context, channel):
|
||||||
|
_statusMain.mark_as_read(channel)
|
|
@ -22,6 +22,7 @@ Feature: Status Desktop Chat
|
||||||
| I am from status |
|
| I am from status |
|
||||||
| tell me how you do? |
|
| tell me how you do? |
|
||||||
|
|
||||||
|
|
||||||
Scenario: User can reply to their own message
|
Scenario: User can reply to their own message
|
||||||
When user joins chat room test
|
When user joins chat room test
|
||||||
Then user is able to send chat message
|
Then user is able to send chat message
|
||||||
|
@ -29,7 +30,14 @@ Feature: Status Desktop Chat
|
||||||
| Reply to this |
|
| Reply to this |
|
||||||
Then the user can reply to the message at index 0 with "This is a reply"
|
Then the user can reply to the message at index 0 with "This is a reply"
|
||||||
|
|
||||||
|
|
||||||
# TODO This test has a chance to fail since it relies on the mailserver. Until we host a local mailserver for the tests, this test is at risk
|
# TODO This test has a chance to fail since it relies on the mailserver. Until we host a local mailserver for the tests, this test is at risk
|
||||||
Scenario: User can reply to another user's message
|
Scenario: User can reply to another user's message
|
||||||
When user joins chat room test
|
When user joins chat room test
|
||||||
Then the user can reply to the message at index 0 with "This is a reply to another user"
|
Then the user can reply to the message at index 0 with "This is a reply to another user"
|
||||||
|
|
||||||
|
|
||||||
|
Scenario: User joins a room and marks it as read
|
||||||
|
When user joins chat room test
|
||||||
|
Then the user can mark the channel test as read
|
||||||
|
# TODO find a way to validate that it worked
|
||||||
|
|
|
@ -117,6 +117,7 @@ StatusPopupMenu {
|
||||||
}
|
}
|
||||||
|
|
||||||
StatusMenuItem {
|
StatusMenuItem {
|
||||||
|
objectName: "chatMarkAsReadMenuItem"
|
||||||
text: qsTr("Mark as Read")
|
text: qsTr("Mark as Read")
|
||||||
icon.name: "checkmark-circle"
|
icon.name: "checkmark-circle"
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
|
|
Loading…
Reference in New Issue