test(spec): inline config into test suite
Previously, information about each test-suite was repeated in 3 separate places: - as a label and as implicit knowledge in the test-suite itself, - as a comment in Main.hs, and - as a configuration in SpecHelper.hs. With this change, there will be a single source of truth in the test suite itself. This will allow a single test-suite to easily test multiple different configurations.
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
module Feature.Query.Preferences.HandlingSpec where
|
||||
|
||||
import Network.Wai (Application)
|
||||
|
||||
import Network.HTTP.Types
|
||||
import Test.Hspec
|
||||
import Test.Hspec.Wai
|
||||
@@ -10,8 +8,8 @@ import Test.Hspec.Wai.JSON
|
||||
import Protolude hiding (get)
|
||||
import SpecHelper
|
||||
|
||||
spec :: SpecWith ((), Application)
|
||||
spec =
|
||||
spec :: SpecWithConfig
|
||||
spec withConfig = withConfig baseCfg $
|
||||
describe "test Prefer: handling" $ do
|
||||
context "check behaviour of Prefer: handling=strict" $ do
|
||||
it "throws error when handling=strict and invalid prefs are given" $
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
module Feature.Query.Preferences.MaxAffectedSpec where
|
||||
|
||||
import Network.Wai (Application)
|
||||
|
||||
import Network.HTTP.Types
|
||||
import Test.Hspec
|
||||
import Test.Hspec.Wai
|
||||
import Test.Hspec.Wai.JSON
|
||||
|
||||
import Protolude hiding (get)
|
||||
import Protolude hiding (get)
|
||||
import SpecHelper
|
||||
|
||||
spec :: SpecWith ((), Application)
|
||||
spec =
|
||||
describe "test Prefer: max-affected" $ do
|
||||
spec :: SpecWithConfig
|
||||
spec withConfig = withConfig baseCfg $ describe "test Prefer: max-affected" $ do
|
||||
context "test Prefer: max-affected with handling=strict" $ do
|
||||
it "should fail if items deleted more than 10" $
|
||||
request methodDelete "/items?id=lt.15"
|
||||
|
||||
@@ -1,18 +1,17 @@
|
||||
module Feature.Query.Preferences.TimezoneSpec where
|
||||
|
||||
import Network.Wai (Application)
|
||||
|
||||
import Network.HTTP.Types
|
||||
import Test.Hspec
|
||||
import Test.Hspec.Wai
|
||||
import Test.Hspec.Wai.JSON
|
||||
|
||||
import PostgREST.Config (AppConfig (..))
|
||||
|
||||
import Protolude hiding (get)
|
||||
import SpecHelper
|
||||
|
||||
enabledSpec :: SpecWith ((), Application)
|
||||
enabledSpec =
|
||||
describe "test Prefer: timezone with db-timezone-enabled is true" $ do
|
||||
enabledSpec :: SpecWithConfig
|
||||
enabledSpec withConfig = withConfig baseCfg $ describe "test Prefer: timezone with db-timezone-enabled is true" $ do
|
||||
context "test Prefer: timezone=America/Los_Angeles" $ do
|
||||
it "should change timezone with handling=strict" $
|
||||
request methodGet "/timestamps"
|
||||
@@ -62,8 +61,8 @@ enabledSpec =
|
||||
, "Preference-Applied" <:> "handling=lenient"]}
|
||||
|
||||
|
||||
disabledSpec :: SpecWith ((), Application)
|
||||
disabledSpec =
|
||||
disabledSpec :: SpecWithConfig
|
||||
disabledSpec withConfig = withConfig (baseCfg { configDbTimezoneEnabled = False }) $
|
||||
describe "test Prefer: timezone with db-timezone-enabled is false" $ do
|
||||
context "test Prefer: timezone=America/Los_Angeles when timezone is disabled" $ do
|
||||
it "should throw error with handling=strict" $
|
||||
|
||||
Reference in New Issue
Block a user