We should organize the tests into behavior and unit test, as they are kind of mashed up together right now. Furthermore, we should audit behaviors and ensure they are tested accordingly.

Facet API Behaviors

Authorization

  • A user with the "administer search" privilege should have access to configure facets
  • A user with the "administer facets" privilege should have access to configure facets
  • An unprivileged user should not have access to configure facets

Basic facet usage

  • Enable a facet
  • Enable a facet with a colon in the name
  • Disable and enabled facet
  • Position a facet block
  • Enable block caching when available
  • Apply a facet constraint
  • Remove a facet constraint

Display settings

  • Change the facet's sorting options
  • Display text when the facet is empty
  • Configure the facet's soft limit
  • Configure the facet's hard limit
  • Configure the facet's operator
  • Configure that the rel="nofollow" attribute is applied to facet links

Dependencies

  • Restrict facet based on role
  • Restrict facet based on another constraint

Filter

  • Do not display active facets