You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.8 KiB
Clojure
45 lines
1.8 KiB
Clojure
(ns org.domaindrivenarchitecture.fed-poc.core-test
|
|
(:require
|
|
[clojure.test :refer [deftest is are testing run-tests]]
|
|
[clojure.spec.alpha :as s]
|
|
[clojure.string :as str]
|
|
[org.domaindrivenarchitecture.fed-poc.activitystreams2 :as as]
|
|
[org.domaindrivenarchitecture.fed-poc.core :as sut]))
|
|
|
|
(deftest should-normalize
|
|
(is (= {::as/id "http://example.org/likes/1"
|
|
::as/summary "Sally liked a note",
|
|
::as/type ["Like"],
|
|
::as/actor {::as/id "http://example.org/persons/1"
|
|
::as/type "Person",
|
|
::as/name "Sally"},
|
|
::as/object "http://example.org/notes/1"}
|
|
(sut/normalize
|
|
::as/Like
|
|
{::as/id ["http://example.org/likes/1"]
|
|
::as/summary "Sally liked a note",
|
|
::as/type ["Like"],
|
|
::as/actor {::as/id ["http://example.org/persons/1"]
|
|
::as/type "Person",
|
|
::as/name "Sally"},
|
|
::as/object "http://example.org/notes/1"}))))
|
|
|
|
(deftest should-serialize
|
|
(is (= (str "{\"@context\":\"https://www.w3.org/ns/activitystreams\","
|
|
"\"id\":\"http://example.org/likes/1\","
|
|
"\"summary\":\"Sally liked a note\","
|
|
"\"type\":[\"Like\"],"
|
|
"\"actor\":{"
|
|
"\"id\":\"http://example.org/persons/1\","
|
|
"\"type\":\"Person\","
|
|
"\"name\":\"Sally\"},"
|
|
"\"object\":\"http://example.org/notes/1\"}")
|
|
(sut/serialize
|
|
::as/Like
|
|
{::as/id "http://example.org/likes/1"
|
|
::as/summary "Sally liked a note",
|
|
::as/type ["Like"],
|
|
::as/actor {::as/id "http://example.org/persons/1"
|
|
::as/type "Person",
|
|
::as/name "Sally"},
|
|
::as/object "http://example.org/notes/1"})))) |