mykelangelo / bus-depot Goto Github PK
View Code? Open in Web Editor NEWTransport Depo System For Buses Management
Home Page: https://bus-depot.herokuapp.com/login
License: GNU General Public License v3.0
Transport Depo System For Buses Management
Home Page: https://bus-depot.herokuapp.com/login
License: GNU General Public License v3.0
AS an admin
GIVEN I am on admin page
AND I select a driver from driver drop-down
AND I click submit button
THEN selected driver should be vacated (not assigned to any bus)
Is NOT addressed in this story:
AS a driver
GIVEN I am on driver page
THEN I see my current bus and route
For a better troubleshooting, it will be good to identify each user's login separately by correlation id, which will be displayed in error pages.
Save correlation id to session with every login
Use Mapped Diagnostic Context (MDC) to display correlation id in logs
Show correlation id along with contact info in error pages
AS admin
GIVEN I am on admin
page
WHEN I select route name from route
drop-down in remove route
form
AND I click delete route
button
THEN selected route is no longer displayed in #4 view of all routes
AS an admin
GIVEN I am logged in
AND I am on admin page
THEN I see all drivers' full info (email and bus)
Is NOT addressed in this story:
AS an admin
GIVEN I am on admin page
AND I have submitted any form
THEN I see message with status report of the most recent submit
AS an admin
GIVEN I am on admin page
THEN I see all routes names
AS admin
GIVEN I am on admin
page
WHEN I select driver from driver
drop-down in remove driver
form
AND I click delete driver
button
THEN selected driver is no longer displayed in #5 view of all drivers
AND the driver should no longer be able to login
AS any user
GIVEN I am on login page
WHEN I select language in language
drop-down
THEN contents of all pages are displayed in chosen language
AS admin
GIVEN I am on admin
page
WHEN I input route name
to create route
form
AND I click add route
button
THEN new route is displayed in #4 view of all routes
AS admin
GIVEN I am logged in
WHEN I go to /go-home
THEN I should go to admin
page
AS driver
GIVEN I am logged in
WHEN I go to /go-home
THEN I should go to driver
page
AS any user
GIVEN I am not logged in
WHEN I go to /go-home
THEN I should go to login
page
AS a user
GIVEN I am on login page
WHEN I log in
THEN I am on landing page
AS a driver
GIVEN I am on driver page
AND I was assigned to new bus
THEN I can confirm my new destination by clicking on a button
AS admin
GIVEN I am on admin
page
WHEN I input bus serial
to create bus
form
AND I click add bus
button
THEN new bus (without route yet) is displayed in #6 view of all buses
Create package constant
Crete interfaces with all magic text values used in source code
Replace magic values with newly created constants both in source and test code
AS any user
IF I cause the 4xx or 5xx status code
THEN I should see corresponding custom error page
AS admin
WHEN I try to visit driver's page
OR I try to submit driver's form
THEN I cannot do that
AND I'm redirected to admin's page OR I see 404 status page
AS driver
WHEN I try to visit admin's page
OR I try to submit any of admin's forms
THEN I cannot do that
AND I'm redirected to driver's page OR I see 404 status page
AS unauthorized used
WHEN I try to visit any driver's or admin's page
OR I try to submit any driver's or admin's form
THEN I cannot do that
AND I'm redirected to login page OR I see 404 status page
Having previously used single data SQL-scripts for both e2e-tests and production (continuous deployment at heroku), production database had been polluted with non-production data and when data generating scripts were altered, said database had merely added new data to the old.
Push commit with truncating all DB tables preceding data generation
Wait for it to be deployed, so that DB will get rid of old data
Push commit without changes made in 1.
AS an admin
GIVEN I am on admin page
AND I select a driver from driver drop-down
AND I select a bus from bus drop-down
AND I click submit button
THEN selected driver should be assigned to selected bus
Is NOT addressed in this story:
AS an admin
GIVEN I am on admin page
THEN I see all buses' full info (serial and route)
Is NOT addressed in this story:
AS admin
GIVEN I am on admin
page
WHEN I click log out
button
THEN I am logged out
AND I am on login
page
AS driver
GIVEN I am on driver
page
WHEN I click log out
button
THEN I am logged out
AND I am on login
page
AS admin
GIVEN I am on admin
page
WHEN I go to login
page
THEN I am logged out
AND I am on login
page
AS driver
GIVEN I am on driver
page
WHEN I go to login
page
THEN I am logged out
AND I am on login
page
AS admin
GIVEN I am on admin
page
WHEN I input email
and password
to create driver
form
AND I click add driver
button
THEN new driver (without route yet) is displayed in #5 view of all drivers
AND the driver can login with provided credentials
AS admin
GIVEN I am on admin
page
WHEN I select bus serial from bus
drop-down in remove bus
form
AND I click delete bus
button
THEN selected bus is no longer displayed in #6 view of all buses
debug() start&end of every non-trivial method
error() instead of every exception thrown
AS an admin
GIVEN I am on admin page
AND I have not selected driver
in Assign driver to bus
form
WHEN I press Submit
THEN browser doesn't submit the form
AND I see a message that I'm required to select a driver from dropdown
AS an admin
GIVEN I am on admin page
AND I select a bus from bus drop-down
AND I select a route from route drop-down
AND I click submit button
THEN selected bus should be assigned to selected route
Is NOT addressed in this story:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.