We use Drupal 7 as our base CMS tool.For one specific product, something like an ERP, we've created sort of a non-drupal layer, to keep our specific business code in.It would be something like this:-------------|  Business | -> This would be our business specific code layer-------------|    Glue   | -> This is where we connect with the basic Drupal API as we need-------------|   Drupal  | -> This is Drupal API-------------We have the concept of Repository, which is a basic class that retrieves something from the database in the form of an Entity or a ArrayObject of Entities.This layer is connected to Drupal, since it needs access to the db_query() method, from the Drupal 7 API.Our whole Business layer is tested using PHPUnit, with 100% coverage.Now we are trying to test the Glue layer as well, the unit of the Repositories, their return values and parameters.In order to do that, we came to the conclusion that we would need to mock the Drupal database access API.But to do that, what would be the correct or best approach?Wrap the db_query function from Drupal into a class that could be mocked in the tests?Not test the Repositories at all?
How deep should we dive into testing different layers, i.e. Drupal's db_query?
architecture;testing;mocking;cms;drupal