๐E2E Test Automation Docs
Last updated
Last updated
Euro-wallet have two major environment, the Staging and Prod. The automated test was derived from staging environment.
Setup Wallet test automation environment
Prerequeset:
VSCode
Node v14.15.4
git
For wallet local environment
amazon cli
Docker
kind
Installation:
Install VScode by downloading the .exe file from this link:
This installation is pretty straight forward and interactive since it was in .exe file. Then add extensions to VScode that are helpfull during the scripting. Those are as follows:
It should look like this:
Next was to install the node v14.15.4 by the exe file downloaded in this link:
Choose the 64 bit installer:
Once downloaded, run the exe file and set everything as default.
To determine if node is installed execute the following command at the terminal
node -v will return the version of node. Please see screenshot below.
Next was to install the git. Download its installer right here:https://git-scm.com/download/win
Download the 64 bit version exe file and once completes, install the application setting everything as default. To verfiy that git is installed, run the command git - -version
. The command are expecting to return git version.
Docker, aws cli and kind are to be installed later.
We canโt pull the repository for wallet automation if weโre not given an access. Please request an access to the repo from Dev Ops team. Repository name: onewallet.test.automation
When access to the Repo is given, we can now clone it. But first we must create a directory to put cypress test files. At the VScode, open the directory that was created earlier. Then open the terminal and we now can start cloning. Clone the repo โฃ executing this command
Enter your user name and password once it ask for you github credentials.
*Note: We canโt access the repo if not authorized from devOps
Repo clone succeeds when the terminal doesโnt gave an error message
Cloning repo requires github credentials. Enter your allowed credential the when the terminal ask for it. Usualy it started by asking username then after is the password.
Wallet site test
Wallet site are intended for customers to access and play product games. This is where customers mostly interact to the application.
The site test can be found at cypress/integration/site
What test are covered from the existing end to end test
Signup feature
Guest landing page
Member Login
Member Account balance
Member Deposit
Feature: Member password validation
Reality Checked
Responsible Gaming
Feature: Member Account verification validation
Feature: Member Account verification
Feature: Registered user Withdraw form
Feature: Change password
Feature: Landing page for Member
Base URL was setted to wallet site so we can run all of the above test but entering the command:
or for with browser
These are the global environment used for site test: /cypress.json
Also to prevent flake test, retries was setted upto 3 time when it fails.
Default timeout as setted to 30 sec.
Wallet BO test
Updating data from cypress environment variables
Update member for used to Site.
wallet site test use 3 member accounts. The keys are as follows.
Note: authtrans is for deposit and withdrawal transactions, authreset is account for password reseting, authtest is for the rest of site test.
Value was encoded in a base 64. Ex: for member resttest with accoiunt password of โpasswordโ. base 64 equivalient could be cmVzdHRlc3Q6cGFzc3dvcmQ=
Use the toolhttps://www.base64encode.org/ to do base 64 encode and Decode
Once new member is encoded, replaced either of the three key values appending โBasisโ.
Replacing authtrans
values required a member to have a balance atleast $5000. This only application for stagin and not on Prod.
Definition of Terms
cypress/support/commands.ts
setAdminCode
Setup sre admin code from UI
code
siteLogin
to send api login request
auth, code, authURL, env
checkDetails
Site check member details
dataTable
navTo
Site navigate from sign up pages
num
passwordReset
api request Resets password to its default <password>
access, code, site
deleteMemberDocs
api request to delete existing verification docs
deleteQuery, access, code, site
checkMemberDocs
api request to check if the verification docs exist
access, code, site
fileList
checked file list if exist in the members verification page
dataTable
signupFirstPage
site signup first page filling out of the fields
dataTable
signupSecondPage
site signup second page filling out of the fields
dataTable
signupLastPage
site signup third page filling out of the fields
dataTable
createMember
site api request to create a member
code
createOperator
bo create an operator
dataTable
editOperator
bo edit operator
dataTable
deleteOperator
bo deletion of operator
createPermission
bo create permission
name
editPermission
bo edit permission
deletePermission
bo delete permission
editMember
bo edit member
deleteDeposits
bo api request deletion of deposit thru createManualAdjustment
access, site, amount, accountID
memberDeposit
bo api request deposit thru DEPOSIT type
access, site, amount
createMemberMarker
bo api request creating of member marker
access, site, markerName, status
deleteMemberMarker
bo api request of deleting member level
access, site, markerID
searchMember
bo member marker search Member
member
updateConfigToDefault
bo api request update member management config to default
access, site
updateConfig
bo api request to update config from member Profile settings
access, site, RealNameVerfication, GenderVerfication
boLogin
bo api request to login and generate Access token
auth, authURL
createAffiliateProgramme
bo api request to create Affiliate program
access, site
submitAffiliateProgramme
bo api request to submit Affiliate program
access, site, queryString
updateAffiliate
bo api request to update Affiliate program
access, site, queryString
checkMemberBalance
bo api request to checked member balance
access, site, memberAccount
checkMemberLabel
bo api request to checked member label
access, site, labelName
deleteMemberLabel
bo api request to delete member label
access, site, labelID
createMemberLabel
bo api request to create member label
access, site, labelName
resetMemberLevelDefault
bo api request to reset member label to its default
access, site
filterMemberMarker
bo api request to filter member marker
access, site, markerName
deactivateMemberMarker
bo api request to deactivate member marker
access, site, markerID
queryPaymentMethod
bo api request to query member existing paymentMethod
access, site, paymentMethodName
deletePaymentMethod
bo api request to delete member paymentMethod
access, site, paymentMethodID
paymentMethodStatus
bo api request to check member paymentMethod status
access, site, paymentMethodID, status
createPaymentMethod
bo api request to check create paymentMethod
access, site, status
queryWithdrawalMethod
bo api request to query withdrawal Method
access, site, withdrawalMethodName
deleteWithdrawalMethod
bo api request to delete withdrawal Method
access, site, withdrawalMethodID
withdrawalMethodStatus
bo api request to update withdrawal Method status
access, site, withdrawalMethodID, status
createWithdrawalMethod
bo api request to create withdrawal Method
dataTable
createPromoCategory
bo api request to create promo Category
access, site, categoryName
queryPromoCategories
bo api request to search existing promo Category
access, site
deletePromoCategory
bo api request to delete promo Category
access, site, categoryID
queryPromo
bo api request to search existing promo
access, site
updatePromo
bo api request to update existing promo
access, site, promoID, status
deletePromo
bo api request to delete existing promo
access, site, promoID
createDraftPromo
bo api request to create a draft promo
access, site, promoName, categoryID
submitPromo
bo api request to submit a draft promo
access, site, promoID
createPromoLabel
bo api request to create a promo label
access, site, promoLabelName, labelColor
updatePromoLabel
bo api request to update a promo label
access, site, promoLabelName, labelColor, id
deletePromoLabel
bo api request to delete a promo label
access, site, id
queryPromoLabel
bo api request to search existing promo label
access, site
createVIP
bo api request to create a VIP
access, site, vipName
publishedVIP
bo api request to published a draft VIP
access, site, vipID
activateVIP
bo api request to activate created VIP
access, site, vipID
deactivateVIP
bo api request to deactive a VIP
access, site, vipID
queryVIP
bo api request to search existing VIP
access, site, vipName
deleteVIP
bo api request to delete a VIP
access, site, vipName
queryGameCategories
bo api request to search game categories
access, site, vendorCatName
createGameCategory
bo api request to create game categories
access, site, vendorCatName
deleteGameCategory
bo api request to delete existing game categories
access, site, id
updateGameCategory
bo api request to update existing game categories
access, site, gameCategoryID
updateVendor
bo api request to update existing Vendors
access, site, gameCategoryID
updateGeoFenceConfig
bo api request to update GeoFence configuration
access, site
setFraudCheck
bo api request to check Fraud status
access, site, status
sessionManagement
bo api request to update session Management
access, site, status
updateAutomatedMessage
bo api request to update automated message
access, site, id, status
editAutomatedMessage
bo api request to edit automated message
access, site, id, title, content
resetPassword
bo api request to reset BO account password
access, site
Circle CI config
The configuration below shows that the CI test will only run for Staging BO and site.