Skip to content

Commit 07c9440

Browse files
committed
wip
1 parent a29d1db commit 07c9440

File tree

2 files changed

+36
-77
lines changed

2 files changed

+36
-77
lines changed

rust/signed_doc/tests/common/mod.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#![allow(dead_code)]
1+
#![allow(dead_code, unused_imports)]
22

33
pub mod brand_parameters;
44
pub mod campaign_parameters;
@@ -10,8 +10,14 @@ pub mod proposal_form_template;
1010

1111
use std::str::FromStr;
1212

13+
pub use brand_parameters::brand_parameters_doc;
14+
pub use campaign_parameters::campaign_parameters_doc;
1315
use catalyst_signed_doc::*;
1416
use catalyst_types::catalyst_id::role_index::RoleId;
17+
pub use category_parameters::category_parameters_doc;
18+
pub use proposal::proposal_doc;
19+
pub use proposal_comment_form_template::proposal_comment_form_template_doc;
20+
pub use proposal_form_template::proposal_form_template_doc;
1521

1622
pub fn create_dummy_key_pair(
1723
role_index: RoleId

rust/signed_doc/tests/proposal.rs

Lines changed: 29 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -8,107 +8,60 @@ use ed25519_dalek::ed25519::signature::Signer;
88
use test_case::test_case;
99

1010
use crate::common::{
11-
create_dummy_key_pair,
11+
brand_parameters_doc, campaign_parameters_doc, category_parameters_doc, create_dummy_key_pair,
1212
dummies::{
1313
BRAND_PARAMETERS_DOC, CAMPAIGN_PARAMETERS_DOC, CATEGORY_PARAMETERS_DOC,
1414
PROPOSAL_TEMPLATE_FOR_BRAND_DOC, PROPOSAL_TEMPLATE_FOR_CAMPAIGN_DOC,
1515
PROPOSAL_TEMPLATE_FOR_CATEGORY_DOC,
1616
},
17+
proposal_doc, proposal_form_template_doc,
1718
};
1819

1920
mod common;
2021

2122
#[test_case(
2223
|provider| {
23-
let id = UuidV7::new();
24-
let (sk, pk, kid) = create_dummy_key_pair(RoleId::Proposer)?;
25-
provider.add_pk(kid.clone(), pk);
26-
// Create a main proposal doc, contain all fields mention in the document (except
27-
// 'collaborators' and 'revocations')
28-
let doc = Builder::new()
29-
.with_json_metadata(serde_json::json!({
30-
"content-type": ContentType::Json.to_string(),
31-
"content-encoding": ContentEncoding::Brotli.to_string(),
32-
"type": doc_types::PROPOSAL.clone(),
33-
"id": id,
34-
"ver": id,
35-
"template": {
36-
"id": PROPOSAL_TEMPLATE_FOR_BRAND_DOC.doc_id()?,
37-
"ver": PROPOSAL_TEMPLATE_FOR_BRAND_DOC.doc_ver()?,
38-
},
39-
"parameters": {
40-
"id": BRAND_PARAMETERS_DOC.doc_id()?,
41-
"ver": BRAND_PARAMETERS_DOC.doc_ver()?,
42-
}
43-
}))?
44-
.with_json_content(&serde_json::json!({}))?
45-
.add_signature(|m| sk.sign(&m).to_vec(), kid)?
46-
.build()?;
47-
Ok(doc)
24+
let brand_parameters_doc = brand_parameters_doc().and_then(|doc| {
25+
provider.add_document(None, &doc)?;
26+
Ok(doc)
27+
})?;
28+
let proposal_form_template_doc = proposal_form_template_doc(&brand_parameters_doc).and_then(|doc| {
29+
provider.add_document(None, &doc)?;
30+
Ok(doc)
31+
})?;
32+
proposal_doc(&proposal_form_template_doc, &brand_parameters_doc, provider)
4833
}
4934
=> true
5035
;
5136
"valid document with brand 'parameters'"
5237
)]
5338
#[test_case(
5439
|provider| {
55-
let id = UuidV7::new();
56-
let (sk, pk, kid) = create_dummy_key_pair(RoleId::Proposer)?;
57-
provider.add_pk(kid.clone(), pk);
58-
// Create a main proposal doc, contain all fields mention in the document (except
59-
// 'collaborators' and 'revocations')
60-
let doc = Builder::new()
61-
.with_json_metadata(serde_json::json!({
62-
"content-type": ContentType::Json.to_string(),
63-
"content-encoding": ContentEncoding::Brotli.to_string(),
64-
"type": doc_types::PROPOSAL.clone(),
65-
"id": id,
66-
"ver": id,
67-
"template": {
68-
"id": PROPOSAL_TEMPLATE_FOR_CAMPAIGN_DOC.doc_id()?,
69-
"ver": PROPOSAL_TEMPLATE_FOR_CAMPAIGN_DOC.doc_ver()?,
70-
},
71-
"parameters": {
72-
"id": CAMPAIGN_PARAMETERS_DOC.doc_id()?,
73-
"ver": CAMPAIGN_PARAMETERS_DOC.doc_ver()?,
74-
}
75-
}))?
76-
.with_json_content(&serde_json::json!({}))?
77-
.add_signature(|m| sk.sign(&m).to_vec(), kid)?
78-
.build()?;
79-
Ok(doc)
40+
let parameters_doc = campaign_parameters_doc().and_then(|doc| {
41+
provider.add_document(None, &doc)?;
42+
Ok(doc)
43+
})?;
44+
let template_doc = proposal_form_template_doc(&parameters_doc).and_then(|doc| {
45+
provider.add_document(None, &doc)?;
46+
Ok(doc)
47+
})?;
48+
proposal_doc(&template_doc, &parameters_doc, provider)
8049
}
8150
=> true
8251
;
8352
"valid document with campaign 'parameters'"
8453
)]
8554
#[test_case(
8655
|provider| {
87-
let id = UuidV7::new();
88-
let (sk, pk, kid) = create_dummy_key_pair(RoleId::Proposer)?;
89-
provider.add_pk(kid.clone(), pk);
90-
// Create a main proposal doc, contain all fields mention in the document (except
91-
// 'collaborators' and 'revocations')
92-
let doc = Builder::new()
93-
.with_json_metadata(serde_json::json!({
94-
"content-type": ContentType::Json.to_string(),
95-
"content-encoding": ContentEncoding::Brotli.to_string(),
96-
"type": doc_types::PROPOSAL.clone(),
97-
"id": id,
98-
"ver": id,
99-
"template": {
100-
"id": PROPOSAL_TEMPLATE_FOR_CATEGORY_DOC.doc_id()?,
101-
"ver": PROPOSAL_TEMPLATE_FOR_CATEGORY_DOC.doc_ver()?,
102-
},
103-
"parameters": {
104-
"id": CATEGORY_PARAMETERS_DOC.doc_id()?,
105-
"ver": CATEGORY_PARAMETERS_DOC.doc_ver()?,
106-
}
107-
}))?
108-
.with_json_content(&serde_json::json!({}))?
109-
.add_signature(|m| sk.sign(&m).to_vec(), kid)?
110-
.build()?;
111-
Ok(doc)
56+
let parameters_doc = category_parameters_doc().and_then(|doc| {
57+
provider.add_document(None, &doc)?;
58+
Ok(doc)
59+
})?;
60+
let template_doc = proposal_form_template_doc(&parameters_doc).and_then(|doc| {
61+
provider.add_document(None, &doc)?;
62+
Ok(doc)
63+
})?;
64+
proposal_doc(&template_doc, &parameters_doc, provider)
11265
}
11366
=> true
11467
;

0 commit comments

Comments
 (0)