This repository requires and has been tested on Ruby v3.1.1 and is based on Rails 7.0.5.
RSpec and Shoulda-Matchers have been installed and set up.
- fork this repo
- clone your fork
git clone <repo_name>
cd <repo_name>
bundle install
rails db:{drop,create,migrate,seed}
When you run bundle exec rspec
you should have 2 passing tests.
- Work on this assessment independently. DO NOT discuss with anyone.
- You are allowed to use any references including notes, Google, lesson plans, etc.
- Read each story carefully before you start working.
- Commit Frequently, about every 15 - 30 minutes
- Push your code to your fork once the time is up (not before!)
Once the time for the assessment is up, push your code to your fork and create a pull request to the turingschool-examples
repository. Include the following:
- Your Name
- A reflection on how you felt you did with this challenge and what story you got through
- TDD all new work
- model methods and relationships must be fully tested.
- No visual styling is required or expected
- You do not need to test for or create any model validations.
Field Trip is an app that allows a user to see airlines, flights, and passengers. Make sure to read all instructions, tasks, and user stories before getting started.
- Airlines have a name
- Ex: name: “Frontier”
- Flights have a number, date, departure city, and arrival city
- Ex: number: “1727”, date: “08/03/20”, departure_city: “Denver”, arrival_city: “Reno”
- For this app, it does not matter how you format the flight’s date
- Passengers have a name and age
- Ex: name: “Joe”, age: 7
- Airlines have many flights
- Flights belong to an airline
- Flights have many passengers
- Passengers can have many flights
Some of the initial migrations and model set up has been done for you.
User Story 1, Flights Index Page
As a visitor
When I visit the flights index page
I see a list of all flight numbers
And next to each flight number I see the name of the Airline of that flight
And under each flight number I see the names of all that flight's passengers
User Story 2, Remove a Passenger from a Flight
As a visitor
When I visit the flights index page
Next to each passengers name
I see a link or button to remove that passenger from that flight
When I click on that link/button
I'm returned to the flights index page
And I no longer see that passenger listed under that flight,
And I still see the passenger listed under the other flights they were assigned to.
User Story 3, Airline's Passengers
As a visitor
When I visit an airline's show page
Then I see a list of passengers that have flights on that airline
And I see that this list is unique (no duplicate passengers)
And I see that this list only includes adult passengers.
(Note: an adult is anyone with age greater than or equal to 18)
Extension, Frequent Flyers
As a visitor
When I visit an airline's show page,
Then I see that the list of adult passengers is sorted
by the number of flights each passenger has taken on the airline from most to least
(Note: you should only make 1 database query to retrieve the sorted list of passengers)