diff --git a/docker-compose.yml b/docker-compose.yml index f64dd18c7358bda9ee5b8b5bf21c7a63138b07dd..31504d4638e5f88aebb69d29e1f33a92e699c023 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ services: build: . container_name: back ports: - - 8080:5000 + - 5000:5000 postgres: image: mdillon/postgis container_name: postgis diff --git a/tests/valid_registration.robot b/tests/00_valid_registration.robot similarity index 78% rename from tests/valid_registration.robot rename to tests/00_valid_registration.robot index f62f83add9b43e2e855b85d2191bac366c002fc9..afca0e6e04b31d625a78852f7af513dae811e0b7 100644 --- a/tests/valid_registration.robot +++ b/tests/00_valid_registration.robot @@ -7,7 +7,8 @@ Suite Teardown Close Browser *** Test Cases *** Registration Process Open Registration - Generate Username 12 - Generate Password 6 + Generate Valid Username + Input Valid Username + Input Valid Password Submit Credentials Registration Log Out diff --git a/tests/valid_login.robot b/tests/01_valid_login.robot similarity index 81% rename from tests/valid_login.robot rename to tests/01_valid_login.robot index 01d1140d5ac71edae110307c7b7dbaac11373325..b31ec3b335b0a19f5227c1a8544c4e2ceb105a38 100644 --- a/tests/valid_login.robot +++ b/tests/01_valid_login.robot @@ -7,8 +7,8 @@ Resource resource.robot Valid Login Open Browser To Login Page Open Login - Input Username ville - Input Password koira + Input Username ${VALID USER} + Input Password ${VALID PASSWORD} Submit Credentials Login Wait For Log Out Button To Appear Log Out diff --git a/tests/02_invalid_registration.robot b/tests/02_invalid_registration.robot new file mode 100644 index 0000000000000000000000000000000000000000..2c4670a94617a1e3a157b26abc748457e00b4dc1 --- /dev/null +++ b/tests/02_invalid_registration.robot @@ -0,0 +1,49 @@ +*** Settings *** +Documentation A test suite for invalid registration. +Resource resource.robot +Suite Setup Open Browser To Login Page +Suite Teardown Close Browser +Test Template Registration With Invalid Options Should Fail + +*** Variables *** +${ge_u} = Generate Username +${ge_p} = Generate Password +${ge_vp} = Generate Differing Password + +*** Test Cases *** +Short Username ${ge_u} 2 ${ge_p} 32 ${SHORT_U} +Long Username ${ge_u} 32 ${ge_p} 32 ${LONG_U} +Short Password ${ge_u} 31 ${ge_p} 2 ${SHORT_P} +Long Password ${ge_u} 31 ${ge_p} 256 ${LONG_P} +Short Username/Password ${ge_u} 2 ${ge_p} 2 ${SHORT_UP} +Long Username/Password ${ge_u} 32 ${ge_p} 256 ${LONG_UP} +Short Username And Long Password ${ge_u} 2 ${ge_p} 256 ${SU_LP} +Long Username And Short Password ${ge_u} 32 ${ge_p} 2 ${LU_SP} +#Differing Password +#Existing Account Correct Password +#Existing Account New Password +Empty Username And Password ${ge_u} 0 ${ge_p} 0 ${SHORT_UP} + + +*** Keywords *** +Registration With Invalid Options Should Fail + [Arguments] ${gene_usern} ${GNUM_U} ${gene_passwords} ${GNUM_P} ${error_text} + Open Registration + Run Keyword ${gene_usern} ${GNUM_U} + Run Keyword ${gene_passwords} ${GNUM_P} + Submit Credentials Registration + Registration Should Have Failed ${error_text} + Close Registration Screen + +Registration Should Have Failed #Checks the error message. + [Arguments] ${error_text} + Element Text Should Be css=h2 ${error_text} + #Title Should Be Error Page #If there's going to be an error page. + +Differing Password + Open Registration + Generate Username 31 + Generate Differing Password 8 + Submit Credentials Registration + #Registration Should Have Failed + Close Registration Screen \ No newline at end of file diff --git a/tests/invalid_login.robot b/tests/invalid_login.robot deleted file mode 100644 index 287bb6699b6dc037350e903dfc97042e8910b703..0000000000000000000000000000000000000000 --- a/tests/invalid_login.robot +++ /dev/null @@ -1,29 +0,0 @@ -*** Settings *** -Documentation A test suite for invalid login. -Resource resource.robot -Suite Setup Open Browser To Login Page -Suite Teardown Close Browser -Test Template Login With Invalid Credentials Should Fail -*** Test Cases *** -Invalid Username invalid ${VALID PASSWORD} ${INVALID_U} -Invalid Password ${VALID USER} invalid ${INVALID_P} -Invalid Username And Password invalid whatever ${INVALID_U} -Empty Username ${EMPTY} ${VALID PASSWORD} ${SHORT_U} -Empty Password ${VALID USER} ${EMPTY} ${SHORT_P} -Empty Username And Password ${EMPTY} ${EMPTY} ${SHORT_UP} - -*** Keywords *** -Login With Invalid Credentials Should Fail - [Arguments] ${username} ${password} ${error_text} - Open Login - Input Username ${username} - Input Password ${password} - Submit Credentials Login - Login Should Have Failed ${error_text} - Close Login Screen - -Login Should Have Failed #Checks the error message. - [Arguments] ${error_text} - Element Text Should Be css=h2 ${error_text} - #Title Should Be Error Page #If there's going to be an error page. - diff --git a/tests/resource.robot b/tests/resource.robot index 94829d0a25dc28045c03b38b702752bc6dd29386..0aa3c238a2396ae7a2127fb0994cf7e90d6b10dc 100644 --- a/tests/resource.robot +++ b/tests/resource.robot @@ -1,121 +1,96 @@ *** Settings *** -Documentation A resource file with reusable keywords and variables. -Library SeleniumLibrary run_on_failure=nothing -Library String - +Documentation A resource file with reusable keywords and variables. +Library SeleniumLibrary run_on_failure=nothing +Library String *** Variables *** -${SERVER} %{SITE_URL} -${BROWSER} firefox -${DELAY} 0.5 -${VALID USER} ville -${VALID PASSWORD} koira -${LOGIN URL} http://${SERVER}/ -${WELCOME URL} #You can use this if there's a different page after login page. -${LOC_USER} id=registerUsernameInput #Generated username. -${LOC_PASSWORD} id=registerPasswordInput #Generated password first time. -${LOC_PASSWORD2} id=registerPasswordVerifyInput #Generated password verify. -${ZOOMIN} //*[@id="root"]/div/div[1]/div[2]/div[2]/div[1]/a[1] #Zoom in button location -${ZOOMOUT} //*[@id="root"]/div/div[1]/div[2]/div[2]/div[1]/a[2] #Zoom out button location -${INVALID_U} User does not exist -${INVALID_P} Invalid password -${SHORT_P} Validation failed: password must be longer than or equal to 3 characters -${SHORT_U} Validation failed: name must be longer than or equal to 3 characters -${SHORT_UP} Validation failed: name must be longer than or equal to 3 characters, password must be longer than or equal to 3 characters -${LONG_U} Validation failed: name must be shorter than or equal to 31 characters -${LONG_P} Validation failed: password must be shorter than or equal to 255 characters -${LONG_UP} Validation failed: name must be shorter than or equal to 31 characters, password must be shorter than or equal to 255 characters -${SU_LP} Validation failed: name must be longer than or equal to 3 characters, password must be shorter than or equal to 255 characters -${LU_SP} Validation failed: name must be shorter than or equal to 31 characters, password must be longer than or equal to 3 characters - +${SERVER} %{SITE_URL} +${BROWSER} ff +${DELAY} 0.5 +${VALID PASSWORD} = koira +${LOGIN URL} https://${SERVER}/ +${WELCOME URL} #You can use this if there's a different page after login page. +${LOC_USER} id=registerUsernameInput #Generated username. +${LOC_PASSWORD} id=registerPasswordInput #Generated password first time. +${LOC_PASSWORD2} id=registerPasswordVerifyInput #Generated password verify. +${ZOOMIN} //*[@id="root"]/div/div[1]/div[2]/div[2]/div[1]/a[1] #Zoom in button location +${ZOOMOUT} //*[@id="root"]/div/div[1]/div[2]/div[2]/div[1]/a[2] #Zoom out button location +${INVALID_U} User does not exist +${INVALID_P} Invalid password +${SHORT_P} Validation failed: password must be longer than or equal to 3 characters +${SHORT_U} Validation failed: name must be longer than or equal to 3 characters +${SHORT_UP} Validation failed: name must be longer than or equal to 3 characters, password must be longer than or equal to 3 characters +${LONG_U} Validation failed: name must be shorter than or equal to 31 characters +${LONG_P} Validation failed: password must be shorter than or equal to 255 characters +${LONG_UP} Validation failed: name must be shorter than or equal to 31 characters, password must be shorter than or equal to 255 characters +${SU_LP} Validation failed: name must be longer than or equal to 3 characters, password must be shorter than or equal to 255 characters +${LU_SP} Validation failed: name must be shorter than or equal to 31 characters, password must be longer than or equal to 3 characters *** Keywords *** #Valid Login Open Browser To Login Page - Open Browser ${LOGIN URL} ${BROWSER} - Maximize Browser Window - Set Selenium Speed ${DELAY} - Login Page Should be Open - + Open Browser ${LOGIN URL} ${BROWSER} + Maximize Browser Window + Set Selenium Speed ${DELAY} + Login Page Should be Open Login Page Should be Open - Title Should Be React App - - + Title Should Be React App Go To Login Page - Go To ${LOGIN URL} - Login Page Should be Open - + Go To ${LOGIN URL} + Login Page Should be Open Open Login - Click Button id=loginButton - + Click Button id=loginButton Input Username - [Arguments] ${username} - Input Text id=loginUsernameInput ${username} - + [Arguments] ${username} + Input Text id=loginUsernameInput ${username} Input Password - [Arguments] ${password} - Input Text id=loginPasswordInput ${password} - + [Arguments] ${password} + Input Text id=loginPasswordInput ${password} Submit Credentials Login - Click Button id=submitLoginButton - -Welcome Page Should Be Open #You can use this if there's a different page after login page. - Location Should Be ${WELCOME URL} - + Click Button id=submitLoginButton +Welcome Page Should Be Open #You can use this if there's a different page after login page. + Location Should Be ${WELCOME URL} Log Out - Click Button id=logoutButton - + Click Button id=logoutButton Close Login Screen - Click Element id=closeLoginFormX - + Click Element id=closeLoginFormX Wait For Log Out Button To Appear - Wait Until Page Contains Element id=logoutButton 1 - + Wait Until Page Contains Element id=logoutButton 1 #Registration Open Registration - Click Button id=registerButton - - -Generate Username #Generates a random username lenght=8 chars=[LETTERS][NUMBERS] - [Arguments] ${GNUM_U} - ${GENE_username} = Generate Random String ${GNUM_U} [LETTERS][NUMBERS] - Input Text ${LOC_USER} ${GENE_username} - -Generate Password #Generates a random password lenght=8 chars=[LETTERS][NUMBERS] - [Arguments] ${GNUM_P} - ${GENE_password} = Generate Random String ${GNUM_P} [LETTERS][NUMBERS] - Input Text ${LOC_PASSWORD} ${GENE_password} - Input Text ${LOC_PASSWORD2} ${GENE_password} - + Click Button id=registerButton +Generate Valid Username + ${GENE_username} = Generate Random String 12 [LETTERS][NUMBERS] + Set Global Variable ${VALID USER} ${GENE_username} +Input Valid Username + Input Text ${LOC_USER} ${VALID USER} +Input Valid Password + Input Text ${LOC_PASSWORD} ${VALID PASSWORD} + Input Text ${LOC_PASSWORD2} ${VALID PASSWORD} +Generate Username #Generates a random username lenght=8 chars=[LETTERS][NUMBERS] + [Arguments] ${GNUM_U} + ${GENE_username} = Generate Random String ${GNUM_U} [LETTERS][NUMBERS] + Input Text ${LOC_USER} ${GENE_username} +Generate Password #Generates a random password lenght=8 chars=[LETTERS][NUMBERS] + [Arguments] ${GNUM_P} + ${GENE_password} = Generate Random String ${GNUM_P} [LETTERS][NUMBERS] + Input Text ${LOC_PASSWORD} ${GENE_password} + Input Text ${LOC_PASSWORD2} ${GENE_password} Generate Differing Password - [Arguments] ${GNUM_VP} - ${GENE_dpassword} = Generate Random String ${GNUM_VP} [LETTERS][NUMBERS] - ${GENE_dpassword2} = Generate Random String ${GNUM_VP} [LETTERS][NUMBERS] - Input Text ${LOC_PASSWORD} ${GENE_dpassword} - Input Text ${LOC_PASSWORD2} ${GENE_dpassword2} - + [Arguments] ${GNUM_VP} + ${GENE_dpassword} = Generate Random String ${GNUM_VP} [LETTERS][NUMBERS] + ${GENE_dpassword2} = Generate Random String ${GNUM_VP} [LETTERS][NUMBERS] + Input Text ${LOC_PASSWORD} ${GENE_dpassword} + Input Text ${LOC_PASSWORD2} ${GENE_dpassword2} Submit Credentials Registration - Click Button id=submitRegisterButton - + Click Button id=submitRegisterButton Close Registration Screen - Click Element id=closeRegisterFormX - + Click Element id=closeRegisterFormX #Zoom frontpage Wait For Zoom Button To Appear - Wait Until Page Contains Element //*[@id="root"]/div/div[1]/div[2]/div[2]/div[1]/a[1] 1 - + Wait Until Page Contains Element //*[@id="root"]/div/div[1]/div[2]/div[2]/div[1]/a[1] 1 Zoom In On Frontpage - Repeat Keyword 3 times Click Element ${ZOOMIN} - - + Repeat Keyword 3 times Click Element ${ZOOMIN} Zoom Out On Frontpage - Repeat Keyword 3 times Click Element ${ZOOMOUT} - - -Move Around On The Map Frontpage #en saanut toimimaan - #Press Key //*[@id="root"]/div/div[1]/div[1] ARROW_LEFT - Press Combination Key. - - - - - - + Repeat Keyword 3 times Click Element ${ZOOMOUT} +Move Around On The Map Frontpage #en saanut toimimaan + #Press Key //*[@id="root"]/div/div[1]/div[1] ARROW_LEFT + Press Combination Key. \ No newline at end of file