2FAuth/tests/EndToEnd/Tests/TwoFAccounts/search.robot

102 lines
4.6 KiB
Plaintext

*** Settings ***
Documentation A test suite containing tests related to 2FAccounts search.
Suite Setup Run Keywords
... Open Custom Browser
... AND Play Admin Sign In Workflow
Suite Teardown Close All Browsers
Test Setup Set Up For Search
Resource ../../Pages/account_create_page.robot
Resource ../../Pages/accounts_page.robot
Resource ../../common.resource
Library String
*** Variables ***
${CLEAR SEARCH BUTTON} btnClearSearch
*** Test Cases ***
Search Field Should Be Empty By Default
Search Field Should Be Empty
Search Field Should Show Close Button When Filled
Input Text ${SEARCH FIELD} lorem ipsum
Wait Until Page Contains Element ${CLEAR SEARCH BUTTON}
Clear Search Button Should Clear Search
Input Text ${SEARCH FIELD} lorem ipsum
Wait Until Page Contains Element ${CLEAR SEARCH BUTTON}
Click Element ${CLEAR SEARCH BUTTON}
Search Field Should Be Empty
Clearing Search Field Should Hide Clear Search Button
Input Text ${SEARCH FIELD} lorem ipsum
Wait Until Page Contains Element ${CLEAR SEARCH BUTTON}
Press Keys ${SEARCH FIELD} CTRL+a
Press Keys None DELETE
Page Should Not Contain Element ${CLEAR SEARCH BUTTON}
Search Should Show Exact Match On Service
${service} = Generate Random String 10 [LETTERS]
${account} = Generate Random String 10 [LETTERS]
&{TOTP} = Create TOTP TwoFAccount ${service} ${account}
Search Should Show Matching Results ${TOTP.service} 1 True
Search Should Show Matching Results ${TOTP.service} 1 False
Search Should Show Exact Match On Account
${service} = Generate Random String 10 [LETTERS]
${account} = Generate Random String 10 [LETTERS]
&{TOTP} = Create TOTP TwoFAccount ${service} ${account}
Search Should Show Matching Results ${TOTP.account} 1 True
Search Should Show Matching Results ${TOTP.account} 1 False
Search Should Show Partial Match On Service
${partial_service} = Generate Random String 10 [LETTERS]
${partial_account} = Generate Random String 10 [LETTERS]
${service a} = Set Variable xx_${partial_service}__xx
${account a} = Set Variable xxx_${partial_account}__xxx
&{TOTP} = Create TOTP TwoFAccount ${service a} ${account a}
${service b} = Set Variable yy_${partial_service}__yyy
${account b} = Set Variable yyy_${partial_account}__yyy
&{TOTP} = Create TOTP TwoFAccount ${service b} ${account b}
Search Should Show Matching Results ${partial_service} 2 True
Search Should Show Matching Results ${partial_service} 2 False
Search Should Show Partial Match On Account
${partial_service} = Generate Random String 10 [LETTERS]
${partial_account} = Generate Random String 10 [LETTERS]
${service a} = Set Variable xx_${partial_service}__xx
${account a} = Set Variable xxx_${partial_account}__xxx
&{TOTP} = Create TOTP TwoFAccount ${service a} ${account a}
${service b} = Set Variable yy_${partial_service}__yyy
${account b} = Set Variable yyy_${partial_account}__yyy
&{TOTP} = Create TOTP TwoFAccount ${service b} ${account b}
Search Should Show Matching Results ${partial_account} 2 True
Search Should Show Matching Results ${partial_account} 2 False
*** Keywords ***
Search Field Should Be Empty
${search} = Get Value ${SEARCH FIELD}
Should Be Empty ${search}
Search Should Show Matching Results
[Arguments] ${searched value} ${expected results number}=1 ${ignore_case}=False
Wait Until Page Contains Element ${SEARCH FIELD}
Input Text ${SEARCH FIELD} ${searched value}
Search Results Number Should Equal ${expected results number}
@{twofaccounts} = Get Visible TwoFAccounts Elements
FOR ${twofaccount} IN @{twofaccounts}
Element Should Contain ${twofaccount} ${searched value} None ${ignore_case}
END
Search Results Number Should Equal
[Arguments] ${expected results number}
${result count} = Get Element Count ${2FA ACCOUNT}
Should Be Equal As Integers ${result count} ${expected results number}
Set Up For Search
Go To Accounts Page
${twofaccount number} = Get Element Count ${2FA ACCOUNT}
IF ${twofaccount number} == 0
Create TOTP TwoFAccount lorem ipsum
END
Wait Until Page Contains Element ${SEARCH FIELD}