|
| 1 | +use serde_json::Value; |
1 | 2 | use wp_api::{ |
2 | | - JsonValue, |
3 | 3 | comments::{ |
4 | 4 | CommentId, CommentListParams, CommentRetrieveParams, CommentStatus, CommentType, |
5 | 5 | SparseCommentFieldWithEditContext, SparseCommentFieldWithEmbedContext, |
6 | 6 | SparseCommentFieldWithViewContext, WpApiParamCommentsOrderBy, |
7 | 7 | }, |
8 | 8 | posts::PostId, |
9 | 9 | users::UserAvatarSize, |
| 10 | + wp_com::{WpComBaseUrl, endpoint::WpComDotOrgApiUrlResolver}, |
10 | 11 | }; |
11 | | -use wp_api_integration_tests::prelude::*; |
| 12 | +use wp_api_integration_tests::{WpComTestCredentials, prelude::*}; |
12 | 13 |
|
13 | 14 | #[tokio::test] |
14 | 15 | #[apply(list_cases)] |
@@ -217,14 +218,64 @@ async fn parse_extras() { |
217 | 218 | .await |
218 | 219 | .assert_response() |
219 | 220 | .data; |
220 | | - match comment.extras { |
221 | | - JsonValue::Object(ref map) => { |
| 221 | + match comment.additional_fields.raw { |
| 222 | + Value::Object(ref map) => { |
222 | 223 | assert!(map.contains_key("_links")); |
223 | 224 | } |
224 | 225 | _ => panic!("Expected extras to be an object"), |
225 | 226 | } |
226 | 227 | } |
227 | 228 |
|
| 229 | +#[tokio::test] |
| 230 | +#[parallel] |
| 231 | +#[ignore] |
| 232 | +async fn wpcom_comment_extension() { |
| 233 | + // You'll need to replace the site ID and comment ID with valid ones. |
| 234 | + let site_id = "site_id".to_string(); |
| 235 | + let comment_id = CommentId(2); |
| 236 | + let client = WpApiClient::new( |
| 237 | + Arc::new(WpComDotOrgApiUrlResolver::new( |
| 238 | + site_id, |
| 239 | + WpComBaseUrl::Production, |
| 240 | + )), |
| 241 | + WpApiClientDelegate { |
| 242 | + auth_provider: Arc::new(WpAuthenticationProvider::static_with_auth( |
| 243 | + WpAuthentication::Bearer { |
| 244 | + token: WpComTestCredentials::instance().bearer_token.to_string(), |
| 245 | + }, |
| 246 | + )), |
| 247 | + request_executor: Arc::new(ReqwestRequestExecutor::default()), |
| 248 | + middleware_pipeline: Arc::new(WpApiMiddlewarePipeline::default()), |
| 249 | + app_notifier: Arc::new(EmptyAppNotifier), |
| 250 | + }, |
| 251 | + ); |
| 252 | + use wp_api::wp_com::endpoint::extensions::comments::WpComCommentExtensionProvider; |
| 253 | + |
| 254 | + let comment = client |
| 255 | + .comments() |
| 256 | + .retrieve_with_view_context(&comment_id, &CommentRetrieveParams::default()) |
| 257 | + .await |
| 258 | + .assert_response() |
| 259 | + .data; |
| 260 | + assert!(comment.additional_fields.parse_extension().is_ok()); |
| 261 | + |
| 262 | + let comment = client |
| 263 | + .comments() |
| 264 | + .retrieve_with_edit_context(&comment_id, &CommentRetrieveParams::default()) |
| 265 | + .await |
| 266 | + .assert_response() |
| 267 | + .data; |
| 268 | + assert!(comment.additional_fields.parse_extension().is_ok()); |
| 269 | + |
| 270 | + let comment = client |
| 271 | + .comments() |
| 272 | + .retrieve_with_embed_context(&comment_id, &CommentRetrieveParams::default()) |
| 273 | + .await |
| 274 | + .assert_response() |
| 275 | + .data; |
| 276 | + assert!(comment.additional_fields.parse_extension().is_ok()); |
| 277 | +} |
| 278 | + |
228 | 279 | #[template] |
229 | 280 | #[rstest] |
230 | 281 | #[case::default(CommentListParams::default())] |
|
0 commit comments