|
| 1 | +use catalyst_signed_doc_spec::{is_required::IsRequired, metadata::chain::Chain as ChainSpec}; |
1 | 2 | use catalyst_types::uuid::{UuidV4, UuidV7}; |
2 | 3 | use test_case::test_case; |
3 | 4 |
|
4 | 5 | use super::*; |
5 | 6 | use crate::{ |
6 | | - Chain, DocType, builder::tests::Builder, metadata::SupportedField, |
7 | | - providers::tests::TestCatalystProvider, |
| 7 | + builder::tests::Builder, metadata::SupportedField, providers::tests::TestCatalystProvider, |
| 8 | + Chain, DocType, |
8 | 9 | }; |
9 | 10 |
|
10 | 11 | mod helper { |
@@ -41,49 +42,22 @@ async fn test_without_chaining_documents() { |
41 | 42 | .build(); |
42 | 43 |
|
43 | 44 | let rule = ChainRule::NotSpecified; |
44 | | - let collaborators_rule = CollaboratorsRule::NotSpecified; |
45 | | - |
46 | | - assert!( |
47 | | - rule.check(&doc, &provider, &collaborators_rule) |
48 | | - .await |
49 | | - .unwrap() |
50 | | - ); |
| 45 | + assert!(rule.check(&doc, &provider).await.unwrap()); |
51 | 46 | let rule = ChainRule::Specified { optional: true }; |
52 | | - assert!( |
53 | | - rule.check(&doc, &provider, &collaborators_rule) |
54 | | - .await |
55 | | - .unwrap() |
56 | | - ); |
| 47 | + assert!(rule.check(&doc, &provider).await.unwrap()); |
57 | 48 | let rule = ChainRule::Specified { optional: false }; |
58 | | - assert!( |
59 | | - !rule |
60 | | - .check(&doc, &provider, &collaborators_rule) |
61 | | - .await |
62 | | - .unwrap() |
63 | | - ); |
| 49 | + assert!(!rule.check(&doc, &provider).await.unwrap()); |
64 | 50 | } |
65 | 51 |
|
66 | 52 | #[tokio::test] |
67 | 53 | async fn chain_rule_collaborators_rule_conflict() { |
68 | | - let doc_type = UuidV4::new(); |
69 | | - let doc_id = UuidV7::new(); |
70 | | - let doc_ver = UuidV7::new(); |
71 | | - |
72 | | - let provider = TestCatalystProvider::default(); |
73 | | - let doc = Builder::new() |
74 | | - .with_metadata_field(SupportedField::Type(DocType::from(doc_type))) |
75 | | - .with_metadata_field(SupportedField::Id(doc_id)) |
76 | | - .with_metadata_field(SupportedField::Ver(doc_ver)) |
77 | | - .build(); |
78 | | - |
79 | | - let rule = ChainRule::Specified { optional: true }; |
80 | | - let collaborators_rule = CollaboratorsRule::Specified { optional: true }; |
81 | | - assert!( |
82 | | - !rule |
83 | | - .check(&doc, &provider, &collaborators_rule) |
84 | | - .await |
85 | | - .unwrap() |
86 | | - ); |
| 54 | + let chain = ChainSpec { |
| 55 | + required: IsRequired::Optional, |
| 56 | + }; |
| 57 | + let collaborators = Collaborators { |
| 58 | + required: IsRequired::Optional, |
| 59 | + }; |
| 60 | + ChainRule::new(&chain, &collaborators).unwrap_err(); |
87 | 61 | } |
88 | 62 |
|
89 | 63 | #[test_case( |
@@ -169,11 +143,8 @@ async fn test_valid_chained_documents( |
169 | 143 | (provider, doc): (TestCatalystProvider, CatalystSignedDocument) |
170 | 144 | ) -> bool { |
171 | 145 | let rule = ChainRule::Specified { optional: false }; |
172 | | - let collaborators_rule = CollaboratorsRule::NotSpecified; |
173 | 146 |
|
174 | | - rule.check(&doc, &provider, &collaborators_rule) |
175 | | - .await |
176 | | - .unwrap() |
| 147 | + rule.check(&doc, &provider).await.unwrap() |
177 | 148 | } |
178 | 149 |
|
179 | 150 | #[test_case( |
@@ -319,9 +290,6 @@ async fn test_invalid_chained_documents( |
319 | 290 | (provider, doc): (TestCatalystProvider, CatalystSignedDocument) |
320 | 291 | ) -> bool { |
321 | 292 | let rule = ChainRule::Specified { optional: false }; |
322 | | - let collaborators_rule = CollaboratorsRule::NotSpecified; |
323 | 293 |
|
324 | | - rule.check(&doc, &provider, &collaborators_rule) |
325 | | - .await |
326 | | - .unwrap() |
| 294 | + rule.check(&doc, &provider).await.unwrap() |
327 | 295 | } |
0 commit comments