diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,11 @@
 # Changelog
 
+## 0.14.1 - 16.08.2020
+
+### minor
+
+- fixed Build error during testing [#5602](https://github.com/commercialhaskell/stackage/issues/5602)
+
 ## 0.14.0 - 15.08.2020
 
 ### new features
diff --git a/morpheus-graphql-client.cabal b/morpheus-graphql-client.cabal
--- a/morpheus-graphql-client.cabal
+++ b/morpheus-graphql-client.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 08102585d72817b64c052bd556824b4025caafa18870e2c76659ab49fc252d6b
+-- hash: dd43bccf11b8a9f16ca9ffdb55d03ce247b69e2afde875f73dfd3d7e65b4f3f5
 
 name:           morpheus-graphql-client
-version:        0.14.0
+version:        0.14.1
 synopsis:       Morpheus GraphQL Client
 description:    Build GraphQL APIs with your favourite functional language!
 category:       web, graphql, client
@@ -22,6 +22,9 @@
 extra-source-files:
     changelog.md
     README.md
+data-files:
+    test/Case/Interface/schema.gql
+    test/Case/Interface/response.json
 
 source-repository head
   type: git
@@ -51,7 +54,7 @@
       aeson >=1.4.4.0 && <=1.6
     , base >=4.7 && <5
     , bytestring >=0.10.4 && <0.11
-    , morpheus-graphql-core >=0.14.0
+    , morpheus-graphql-core >=0.14.0 && <0.15.0
     , mtl >=2.0 && <=3.0
     , template-haskell >=2.0 && <=3.0
     , text >=1.2.3.0 && <1.3
@@ -73,8 +76,9 @@
       aeson
     , base >=4.7 && <5
     , bytestring >=0.10.4 && <0.11
+    , directory >=1.0
     , morpheus-graphql-client
-    , morpheus-graphql-core >=0.14.0
+    , morpheus-graphql-core >=0.14.0 && <0.15.0
     , mtl >=2.0 && <=3.0
     , tasty
     , tasty-hunit
diff --git a/test/Case/Interface/Test.hs b/test/Case/Interface/Test.hs
--- a/test/Case/Interface/Test.hs
+++ b/test/Case/Interface/Test.hs
@@ -15,17 +15,15 @@
 
 import Data.ByteString.Lazy.Char8
   ( ByteString,
-    readFile,
   )
 import Data.Morpheus.Client
   ( Fetch (..),
-    defineByDocumentFile,
     gql,
   )
 import Data.Text (Text)
 import Lib
-  ( mockApi,
-    schemaUrl,
+  ( defineClientWith,
+    mockApi,
   )
 import Test.Tasty
   ( TestTree,
@@ -41,8 +39,8 @@
     String,
   )
 
-defineByDocumentFile
-  (schemaUrl "Interface")
+defineClientWith
+  "Interface"
   [gql|
     query MyQuery {
       character {
diff --git a/test/Case/Interface/response.json b/test/Case/Interface/response.json
new file mode 100644
--- /dev/null
+++ b/test/Case/Interface/response.json
@@ -0,0 +1,52 @@
+{
+  "data": {
+    "character": [
+      {
+        "__typename": "Deity",
+        "name": "Deity Name",
+        "power": "Deity Power"
+      },
+      {
+        "__typename": "Character",
+        "name": "Charatcer Name"
+      },
+      {
+        "__typename": "Hero",
+        "name": "Hero Name",
+        "hoby": "Deity Power"
+      }
+    ],
+    "character2": [
+      {
+        "name1": "test name",
+        "name": "test name"
+      }
+    ],
+    "character3": [
+      {
+        "__typename": "Hero",
+        "hoby": "Hero Hoby",
+        "name2": "Hero name2"
+      },
+      {
+        "__typename": "Deity",
+        "name2": "Hero name2"
+      },
+      {
+        "__typename": "Character",
+        "name2": "Character name2"
+      }
+    ],
+    "character4": [
+      {
+        "__typename": "Character",
+        "name2": "Character name2"
+      },
+      {
+        "__typename": "Hero",
+        "hoby": "Hero Hoby",
+        "name2": "Hero name2"
+      }
+    ]
+  }
+}
diff --git a/test/Case/Interface/schema.gql b/test/Case/Interface/schema.gql
new file mode 100644
--- /dev/null
+++ b/test/Case/Interface/schema.gql
@@ -0,0 +1,21 @@
+interface Character {
+  name: String!
+}
+
+interface Supernatural {
+  power: [String!]!
+}
+
+type Hero implements Character {
+  name: String!
+  hoby: String!
+}
+
+type Deity implements Character & Supernatural {
+  name: String!
+  power: String!
+}
+
+type Query {
+  character: [Character!]!
+}
diff --git a/test/Lib.hs b/test/Lib.hs
--- a/test/Lib.hs
+++ b/test/Lib.hs
@@ -5,17 +5,33 @@
 module Lib
   ( mockApi,
     schemaUrl,
+    defineClientWith,
   )
 where
 
 import qualified Data.ByteString.Lazy as L (readFile)
 import Data.ByteString.Lazy.Char8 (ByteString)
-import Data.Morpheus.Types.Internal.AST (FieldName (..))
+import Data.Functor ((<$>))
+import Data.Morpheus.Client
+  ( defineByDocumentFile,
+  )
+import Data.Morpheus.Types.Internal.AST
+  ( FieldName (..),
+    GQLQuery,
+  )
 import Data.Semigroup ((<>))
 import Data.Text (unpack)
+import Language.Haskell.TH
+  ( Dec,
+    Q,
+    runIO,
+  )
+import System.Directory (doesFileExist)
 import Prelude
-  ( FilePath,
+  ( Bool (..),
+    FilePath,
     IO,
+    String,
   )
 
 path :: FieldName -> FilePath
@@ -24,5 +40,22 @@
 schemaUrl :: FieldName -> FilePath
 schemaUrl p = path p <> "/schema.gql"
 
+withProject :: FilePath -> FilePath
+withProject = ("morpheus-graphql-client/" <>)
+
 mockApi :: FieldName -> ByteString -> IO ByteString
 mockApi p _ = L.readFile (path p <> "/response.json")
+
+fixFilePath :: FilePath -> Q FilePath
+fixFilePath x = prefix <$> runIO (doesFileExist x)
+  where
+    prefix True = x
+    prefix False = withProject x
+
+defineClientWith ::
+  FieldName ->
+  (GQLQuery, String) ->
+  Q [Dec]
+defineClientWith url exp = do
+  p <- fixFilePath (schemaUrl url)
+  defineByDocumentFile p exp
