check50

cs50/problems/2023/x/finance


:) app.py exists

Log
checking that app.py exists...

:) application starts up

Log
sending GET request to /
checking that status code 200 is returned...

:) register page has all required elements

Log
sending GET request to /register
found required "username" field
found required "password" field
found required "confirmation" field

:) registering user succeeds

Log
sending POST request to /register
checking that status code 200 is returned...

:) registration with an empty field fails

Log
sending POST request to /register
checking that status code 400 is returned...
sending POST request to /register
checking that status code 400 is returned...
sending POST request to /register
checking that status code 400 is returned...

:) registration with password mismatch fails

Log
sending POST request to /register
checking that status code 400 is returned...

:) registration rejects duplicate username

Log
sending POST request to /register
checking that status code 200 is returned...
sending POST request to /register
checking that status code 400 is returned...

:) login page has all required elements

Log
sending GET request to /signin
sending GET request to /signin
found required "username" field
found required "password" field

:( logging in as registered user succceeds

Cause
expected status code 200, but got 302

Log
sending GET request to /signin
sending POST request to /signin
checking that status code 200 is returned...
sending GET request to /
checking that status code 200 is returned...

:| quote page has all required elements

Cause
can't check until a frown turns upside down

:| quote handles invalid ticker symbol

Cause
can't check until a frown turns upside down

:| quote handles blank ticker symbol

Cause
can't check until a frown turns upside down

:| quote handles valid ticker symbol

Cause
can't check until a frown turns upside down

:| buy page has all required elements

Cause
can't check until a frown turns upside down

:| buy handles invalid ticker symbol

Cause
can't check until a frown turns upside down

:| buy handles fractional, negative, and non-numeric shares

Cause
can't check until a frown turns upside down

:| buy handles valid purchase

Cause
can't check until a frown turns upside down

:| sell page has all required elements

Cause
can't check until a frown turns upside down

:| sell handles invalid number of shares

Cause
can't check until a frown turns upside down

:| sell handles valid sale

Cause
can't check until a frown turns upside down