Reduce number of tests around showing govspeak

The `should_allow_showing_of` test macro was used in 10 controller tests. The
test in the macro was exercising logic in the 'editions/document_preview'
partial which is shared by all of these controllers. By changing these tests
to use the `GenericEditionsController` we reduce the number of functional
tests by 9 (from 10 to 1).
Reduce number of tests around audit trail

The `should_show_document_audit_trail_for` test macro was used in 9 controller
tests. The test in the macro was exercising logic in the
'editions/audit_trail_entry' partial which is shared by all of these
controllers. By changing these tests to use the `GenericEditionsController` we
reduce the number of functional tests by 16 (from 18 to 2).

*NOTE* I've had to create an empty 'generic_editions/_form' partial so that we
can render 'editions/edit' correctly.
Introduce the GenericEditionsControllerTest

This allows me to test that the `GenericEditionsController` inherits from
`Admin::EditionsController` in a single place.
Reduce number of tests around unpublishing

The `should_allow_unpublishing_for` test macro was used in 10 controller
tests. The tests in the macro were exercising logic in the
'editions/navigation' partial which is shared by all of these controllers. By
changing these tests to use the `GenericEditionsController` we can reduce the
number of functional tests by 18 (from 20 to 2).
Reduce number of tests around revising

The `should_allow_revision_of` test macro was used in 7 controller tests. The
tests in the macro were exercising logic in the 'editions/navigation' partial
which is shared by all of these controllers. By changing these tests to use
the `GenericEditionsController` we can reduce the number of functional tests
by 18 (from 21 to 3).
Reduce number of tests around deleting

The `should_be_able_to_delete_an_edition` test macro was used in 10 controller
tests. The tests in the macro were exercising logic in the
'editions/navigation' partial and the editions controller, all of which are
shared by these controllers. By changing these tests to use the
`GenericEditionsController` we can reduce the number of functional tests by 63
(from 70 to 7).

*NOTE*. It should be possible to further simplify the tests for the
presence/absence of the delete button as the template only switches based on
the value of `Edition#deletable?` (i.e. it doesn't care about the actual state
of the edition).
Reduce number of tests around viewing

The `should_link_to_public_version_when_published` and its counterpart,
`should_not_link_to_public_version_when_not_published` test macros were both
used in 10 controller tests. The two tests in those macros were exercising
logic in the 'editions/navigation' partial which is shared by all those
controllers. By changing these tests to use the `GenericEditionsController` we
can reduce the number of functional tests by 18 (20 down to 2).
Reduce number of tests around previewing

The `should_link_to_preview_version_when_not_published` test macro was used in
10 controller tests. The single test in that macro was exercising logic in the
'editions/navigation' partial which is shared by all those controllers. By
changing these tests to use the `GenericEditionsController` we can reduce the
number of functional tests by 9 (from 10 to 1).
Reduce number of tests around rejecting

The `should_be_rejectable` test macro was used in 10 controller tests. The
tests in that macro were exercising the 'editions/navigation' partial, the
'editions/rejected_by' partial, and the 'editions/audit_trail_entry' partial;
all of which are shared by those controllers. By changing these tests to use
the `GenericEditionsController` we can reduce the number of functional tests
by 45 (from 50 to 5).
Reduce number of tests around publishing

The `should_be_publishable` test macro was used in 10 controller tests. The
tests in the macro were exercising logic in the 'editions/navigation' partial
which is shared by all of these controllers. By changing these tests to use
the `GenericEditionsController` we can reduce the number of functional tests
by 18 (from 20 to 2).
Reduce number of tests around force publishing

The `should_be_force_publishable` test macro was used in 10 controller tests.
The tests in the macro were exercising logic in the 'editions/navigation'
partial which is shared by all of these controllers. By changing these tests
to use the `GenericEditionsController` we can reduce the number of functional
tests by 54 (from 60 to 6).
Merge pull request #284 from alphagov/reduce-the-number-of-functional-tests

Reduce the number of functional tests