diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/schema_tests.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/schema_tests.rs b/tests/schema_tests.rs index 7c6833b..23537fb 100644 --- a/tests/schema_tests.rs +++ b/tests/schema_tests.rs | |||
@@ -180,11 +180,41 @@ mod tests { | |||
180 | 180 | ||
181 | #[test] | 181 | #[test] |
182 | fn user_serialize_correctly() { | 182 | fn user_serialize_correctly() { |
183 | let user = User { | ||
184 | user_id: MetuId::new("e254275".to_owned()).unwrap(), | ||
185 | public_key: "public_key".to_owned(), | ||
186 | balance: 0 | ||
187 | }; | ||
183 | 188 | ||
189 | assert_tokens( | ||
190 | &user, | ||
191 | &[ | ||
192 | Token::Struct{name: "User", len: 3}, | ||
193 | Token::String("user_id"), | ||
194 | Token::Struct {name: "MetuId", len: 1}, | ||
195 | Token::String("id"), | ||
196 | Token::String("e254275"), | ||
197 | Token::StructEnd, | ||
198 | Token::String("public_key"), | ||
199 | Token::String("public_key"), | ||
200 | Token::String("balance"), | ||
201 | Token::I32(0), | ||
202 | Token::StructEnd, | ||
203 | ] | ||
204 | ) | ||
184 | } | 205 | } |
185 | 206 | ||
186 | #[test] | 207 | #[test] |
187 | fn user_deserialize_correctly() { | 208 | fn user_deserialize_correctly() { |
209 | let expected_user = User { | ||
210 | user_id: MetuId::new("e254275".to_owned()).unwrap(), | ||
211 | public_key: "public_key".to_owned(), | ||
212 | balance: 0 | ||
213 | }; | ||
214 | let data = r#"{"user_id":{"id":"e254275"},"public_key":"public_key","balance":0}"#; | ||
215 | let user: User = serde_json::from_str(data).unwrap(); | ||
216 | |||
217 | assert_eq!(user, expected_user); | ||
188 | 218 | ||
189 | } | 219 | } |
190 | 220 | ||