summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-08-16 13:09:03 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2017-08-16 13:15:41 +0200
commite2030ca01928c77c02b5d6d9b54a0f59100f9fe9 (patch)
treec772a8ac2eb83b37827364ddd981efe13c80aa5d
parentc76f8f3e8fda0b2233254a58cd0c1672fc0b6c5a (diff)
downloadgitlab-ce-e2030ca01928c77c02b5d6d9b54a0f59100f9fe9.tar.gz
Extend migrations testing documentation
-rw-r--r--spec/migrations/README.md10
1 files changed, 8 insertions, 2 deletions
diff --git a/spec/migrations/README.md b/spec/migrations/README.md
index 05d4f35db72..45cf25b96de 100644
--- a/spec/migrations/README.md
+++ b/spec/migrations/README.md
@@ -28,6 +28,14 @@ The `after` hook will migrate the database **up** and reinstitutes the latest
schema version, so that the process does not affect subsequent specs and
ensures proper isolation.
+## Testing a class that is not an ActiveRecord::Migration
+
+In order to test a class that is not a migration itself, you will need to
+manually provide a required schema version. Please add a `schema` tag to a
+context that you want to switch the database schema within.
+
+Example: `describe SomeClass, :migration, schema: 20170608152748`.
+
## Available helpers
Use `table` helper to create a temporary `ActiveRecord::Base` derived model
@@ -80,8 +88,6 @@ end
## Best practices
-1. Use only one test example per migration unless there is a good reason to
-use more.
1. Note that this type of tests do not run within the transaction, we use
a truncation database cleanup strategy. Do not depend on transaction being
present.