(ns document-storage.postgres.encoding-test
  (:require [clojure.test :refer :all]
            [document-storage.postgres.encoding :as sut]
            [document-storage.testdata :refer [generate-document]]))



(deftest test-encoding-roundtrip
  (testing "Test if a new document can be encoded and then decoded without loss"
    (let [new-document (generate-document)]
      (is (= (-> new-document
                 sut/encode-document
                 sut/decode-document)
             new-document)))))

(deftest test-transit-encoding-roundtrip
  (testing "Test if a new document can be encoded to transit and then decoded without loss"
    (let [new-document (generate-document)]
      (is (= (-> new-document
                 sut/document->transit
                 sut/transit->document)
             new-document)))))