By default Bbq tests run with use_transactional_fixtures = true. Accessing database within test case will run in a transaction, separate from application server (at least when running Selenium). As a result, changes made by test won't be visible to the application.
Although direct access to the database is discouraged in acceptance tests, sometimes it's very useful and not harmful. Creating admin user account might be a good example.
Possible solutions include
- setting
use_transactional_fixtures = false inside Bbq::TestCase
- at least documenting this behavior in Readme, to minimize users confusion