diff --git a/src/common/related_entity.rs b/src/common/related_entity.rs
index 8a73677..a5948ed 100644
--- a/src/common/related_entity.rs
+++ b/src/common/related_entity.rs
@@ -31,4 +31,27 @@ impl<T : HasName> From<T> for RelatedEntity {
             ..Default::default()
         }
     }
+}
+
+#[cfg(test)]
+mod test {
+    use crate::tmf651::agreement::Agreement;
+    use crate::{HasId,HasName};
+
+    use super::RelatedEntity;
+
+    const AGREEMENT_NAME : &str = "AnAgreement";
+
+    #[test]
+    fn test_relatedentity_from() {
+        let agreement = Agreement::new(AGREEMENT_NAME);
+        let agree_ref = &agreement;
+
+        let entity = RelatedEntity::from(agreement.clone());
+
+        assert_eq!(entity.name,agree_ref.get_name());
+        assert_eq!(entity.id,agree_ref.get_id().as_str());
+        assert_eq!(entity.href,agree_ref.get_href().as_str());
+        assert_eq!(entity.referred_type,Agreement::get_class());
+    }
 }
\ No newline at end of file
diff --git a/src/tmf667/document.rs b/src/tmf667/document.rs
index dd326c3..24458f3 100644
--- a/src/tmf667/document.rs
+++ b/src/tmf667/document.rs
@@ -120,6 +120,7 @@ impl From<AttachmentRefOrValue> for Document {
 #[cfg(test)]
 mod test {
     use crate::common::attachment::AttachmentRefOrValue;
+    use crate::tmf651::agreement::Agreement;
     use super::DocumentStatusType;
     use super::DOC_VERSION;
 
@@ -129,6 +130,7 @@ mod test {
     const DOC_NAME : &str  = "A Document";
     const DOC_TYPE : &str = "PDF";
     const DOC_STATE: &str = "\"Created\"";
+    const AGREEMENT_NAME : &str = "AnAgreement";
 
     #[test]
     fn test_document_new() {
@@ -176,4 +178,15 @@ mod test {
 
         assert_eq!(doc.get_name(),attachref.get_name());
     }
+
+    #[test]
+    fn test_document_link() {
+        let agreement = Agreement::new(AGREEMENT_NAME);
+
+        let document = Document::new(AGREEMENT_NAME)
+            .link(agreement);
+
+        assert_eq!(document.related_entity.is_some(),true);
+        assert_eq!(document.related_entity.unwrap().first().is_some(),true);
+    }
 }
\ No newline at end of file