yesod-transloadit 0.3.0.0 → 0.4.0.0
raw patch · 3 files changed
+22/−24 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- src/Yesod/Transloadit.hs +11/−5
- test/Tests.hs +10/−18
- yesod-transloadit.cabal +1/−1
src/Yesod/Transloadit.hs view
@@ -89,6 +89,8 @@ _sslUrl :: Text } deriving (Show) +$(makeLenses ''StepResult)+ data ParamsError = UnknownError type ParamsResult = Either ParamsError TransloaditParams @@ -132,13 +134,14 @@ master <- getYesod let root = transloaditRoot master signature = sign t+ divId = mconcat ["#", formIdent] addScriptEither $ urlJqueryJs master addScriptRemote $ root <> "jquery.transloadit2-v2-latest.js" toWidget [julius| $(function() {- $('##{rawJS formIdent}').transloadit({+ $(#{toJSON divId}).transloadit({ wait : true,- params : JSON.parse('#{(rawJS . encodeParams) t}')+ params : JSON.parse(#{(toJSON . encodeParams) t}) }); }); |]@@ -178,6 +181,9 @@ -- | Helper method to pull the nth @StepResult@ for a given key from the Transloadit response nthStepResult :: AsValue s => Int -> Text -> Maybe s -> Maybe StepResult nthStepResult _ _ Nothing = Nothing-nthStepResult i k (Just u) = join $ u ^? AL.key "results" . AL.key k . nth i . _Object . _stepResult--$(makeLenses ''StepResult)+nthStepResult i k (Just u) = u ^? AL.key "results"+ . AL.key k+ . nth i+ . _Object+ . _stepResult+ & join
test/Tests.hs view
@@ -59,7 +59,7 @@ |] return () -sampleDict :: Map Text (Map Text [(Map Text Text)])+sampleDict :: Map Text (Map Text [Map Text Text]) sampleDict = fromList [("results", results)] where results = fromList [("foo", stepResults)] stepResults = [fromList [("id","<id>"), ("name", "n"), ("basename", "b"), ("ext", "e"), ("mime", "m"), ("field", "f"), ("url", "u"), ("ssl_url", "<ssl_url>")]]@@ -71,7 +71,7 @@ ydescribe "Form generation" $ do yit "adds correct Transloadit params" $ do get HomeR- bodyContains "params : JSON.parse('{\"auth\":{\"expires\":\"1995/10/10 01:00:10+00:00\",\"key\":\"my_key\"},\"template_id\":\"my_template\"}')"+ bodyContains "params : JSON.parse(\"{\\\"auth\\\":{\\\"expires\\\":\\\"1995/10/10 01:00:10+00:00\\\",\\\"key\\\":\\\"my_key\\\"},\\\"template_id\\\":\\\"my_template\\\"}\")" yit "computes the correct signature" $ do get HomeR bodyContains "<input type=\"hidden\" name=\"signature\" value=\"ad2784ec20c0f2d486125141409763ea603e1a10\">"@@ -82,21 +82,13 @@ get HomeR bodyContains "<script src=\"https://assets.transloadit.com/js/jquery.transloadit2-v2-latest.js\"></script>" ydescribe "Response parsing" $ do- yit "grabs ssl_url" $ do- assertEqual "ssl_url" (sampleResult ^. sslUrl) ("<ssl_url>" :: Text)- yit "grabs id" $ do- assertEqual "id" (sampleResult ^. resultId) ("<id>" :: Text)- yit "grabs name" $ do- assertEqual "name" (sampleResult ^. name) ("n" :: Text)- yit "grabs basename" $ do- assertEqual "basename" (sampleResult ^. baseName) ("b" :: Text)- yit "grabs extension" $ do- assertEqual "ext" (sampleResult ^. extension) ("e" :: Text)- yit "grabs mime" $ do- assertEqual "mime" (sampleResult ^. mime) ("m" :: Text)- yit "grabs field" $ do- assertEqual "field" (sampleResult ^. field) ("f" :: Text)- yit "grabs url" $ do- assertEqual "url" (sampleResult ^. url) ("u" :: Text)+ yit "grabs ssl_url" $ assertEqual "ssl_url" (sampleResult ^. sslUrl) ("<ssl_url>" :: Text)+ yit "grabs id" $ assertEqual "id" (sampleResult ^. resultId) ("<id>" :: Text)+ yit "grabs name" $ assertEqual "name" (sampleResult ^. name) ("n" :: Text)+ yit "grabs basename" $ assertEqual "basename" (sampleResult ^. baseName) ("b" :: Text)+ yit "grabs extension" $ assertEqual "ext" (sampleResult ^. extension) ("e" :: Text)+ yit "grabs mime" $ assertEqual "mime" (sampleResult ^. mime) ("m" :: Text)+ yit "grabs field" $ assertEqual "field" (sampleResult ^. field) ("f" :: Text)+ yit "grabs url" $ assertEqual "url" (sampleResult ^. url) ("u" :: Text) main = hspec formGenSpecs
yesod-transloadit.cabal view
@@ -1,5 +1,5 @@ name: yesod-transloadit-version: 0.3.0.0+version: 0.4.0.0 synopsis: Transloadit support for Yesod description: Drop in Transloadit capabilites for Yesod web apps license: MIT