-
Notifications
You must be signed in to change notification settings - Fork 19
Libraries we Use
Devise is used for authenticating users. It handles password management, login, session creation, and email confirmation. We allow users to access the app for 3 days without confirming their account. This makes testing easier and eases the onboarding process for new ConfBuddies users. Devise manages that access as well.
FactoryBot standardizes object creation in our test suite. If we add a new required column or need to set new fields to make a user unconfirmed, FactoryBot lets us change those and update every object in the test suite at once. This makes it easier to make changes, and have thorough test suite coverage.
Pundit is used for authorizing that a user has permission to make a change. All controllers should be protected with Pundit policies that govern access. We also use these policies to determine if a user sees the button to take an action.
RSpec is our chosen test framework. It makes writing human-readable specs and pinpointing errors a lot easier. We understand that test suites are a time vs safety balance so we focus on testing logic that we've added to the application and avoid testing configured library code.
Seedbank is used to load our development environment with data and make it easier to get started. They should run automatically with rake db:setup
.