Skip to content

Libraries we Use

Rachael Wright-Munn edited this page Oct 20, 2021 · 2 revisions

Devise

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

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

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

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

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.

Clone this wiki locally