| | 311 | /** |
| | 312 | * The function should respect the user locale settings when the site uses the default locale. |
| | 313 | * |
| | 314 | * @since 5.2.0 |
| | 315 | * @ticket 44721 |
| | 316 | * @group l10n |
| | 317 | */ |
| | 318 | public function test_should_send_fulfillment_email_in_user_locale() { |
| | 319 | update_user_meta( self::$request_user->ID, 'locale', 'es_ES' ); |
| | 320 | |
| | 321 | _wp_privacy_send_erasure_fulfillment_notification( self::$request_id ); |
| | 322 | $mailer = tests_retrieve_phpmailer_instance(); |
| | 323 | |
| | 324 | $this->assertContains( 'Solicitud de borrado completada', $mailer->get_sent()->subject ); |
| | 325 | } |
| | 326 | |
| | 327 | /** |
| | 328 | * The function should respect the user locale settings when the site does not use en_US, the administrator |
| | 329 | * uses the site's default locale, and the user has a different locale. |
| | 330 | * |
| | 331 | * @since 5.2.0 |
| | 332 | * @ticket 44721 |
| | 333 | * @group l10n |
| | 334 | */ |
| | 335 | public function test_should_send_fulfillment_email_in_user_locale_when_site_is_not_en_us() { |
| | 336 | update_option( 'WPLANG', 'es_ES' ); |
| | 337 | switch_to_locale( 'es_ES' ); |
| | 338 | |
| | 339 | update_user_meta( self::$request_user->ID, 'locale', 'de_DE' ); |
| | 340 | wp_set_current_user( self::$admin_user->ID ); |
| | 341 | |
| | 342 | _wp_privacy_send_erasure_fulfillment_notification( self::$request_id ); |
| | 343 | $mailer = tests_retrieve_phpmailer_instance(); |
| | 344 | |
| | 345 | $this->assertContains( 'Löschauftrag ausgeführt', $mailer->get_sent()->subject ); |
| | 346 | } |
| | 347 | |
| | 348 | /** |
| | 349 | * The function should respect the user locale settings when the site is not en_US, the administrator |
| | 350 | * has a different selected locale, and the user uses the site's default locale. |
| | 351 | * |
| | 352 | * @since 5.2.0 |
| | 353 | * @ticket 44721 |
| | 354 | * @group l10n |
| | 355 | */ |
| | 356 | public function test_should_send_fulfillment_email_in_user_locale_when_admin_and_site_have_different_locales() { |
| | 357 | update_option( 'WPLANG', 'es_ES' ); |
| | 358 | switch_to_locale( 'es_ES' ); |
| | 359 | |
| | 360 | update_user_meta( self::$admin_user->ID, 'locale', 'de_DE' ); |
| | 361 | wp_set_current_user( self::$admin_user->ID ); |
| | 362 | |
| | 363 | _wp_privacy_send_erasure_fulfillment_notification( self::$request_id ); |
| | 364 | $mailer = tests_retrieve_phpmailer_instance(); |
| | 365 | |
| | 366 | $this->assertContains( 'Solicitud de borrado completada', $mailer->get_sent()->subject ); |
| | 367 | } |
| | 368 | |
| | 369 | /** |
| | 370 | * The function should respect the user locale settings when the site is not en_US and both the |
| | 371 | * administrator and the user use different locales. |
| | 372 | * |
| | 373 | * @since 5.2.0 |
| | 374 | * @ticket 44721 |
| | 375 | * @group l10n |
| | 376 | */ |
| | 377 | public function test_should_send_fulfillment_email_in_user_locale_when_both_have_different_locales_than_site() { |
| | 378 | update_option( 'WPLANG', 'es_ES' ); |
| | 379 | switch_to_locale( 'es_ES' ); |
| | 380 | |
| | 381 | update_user_meta( self::$admin_user->ID, 'locale', 'en_US' ); |
| | 382 | update_user_meta( self::$request_user->ID, 'locale', 'de_DE' ); |
| | 383 | |
| | 384 | wp_set_current_user( self::$admin_user->ID ); |
| | 385 | |
| | 386 | _wp_privacy_send_erasure_fulfillment_notification( self::$request_id ); |
| | 387 | $mailer = tests_retrieve_phpmailer_instance(); |
| | 388 | |
| | 389 | $this->assertContains( 'Löschauftrag ausgeführt', $mailer->get_sent()->subject ); |
| | 390 | } |
| | 391 | |
| | 392 | /** |
| | 393 | * The function should respect the site's locale when the request is for an unregistered user and the |
| | 394 | * administrator does not use the site's locale. |
| | 395 | * |
| | 396 | * @since 5.2.0 |
| | 397 | * @ticket 44721 |
| | 398 | * @group l10n |
| | 399 | */ |
| | 400 | public function test_should_send_fulfillment_email_in_site_locale() { |
| | 401 | update_user_meta( self::$admin_user->ID, 'locale', 'es_ES' ); |
| | 402 | wp_set_current_user( self::$admin_user->ID ); |
| | 403 | |
| | 404 | $request_id = wp_create_user_request( 'erase-user-not-registered@example.com', 'remove_personal_data' ); |
| | 405 | wp_update_post( |
| | 406 | array( |
| | 407 | 'ID' => $request_id, |
| | 408 | 'post_status' => 'request-completed', |
| | 409 | ) |
| | 410 | ); |
| | 411 | |
| | 412 | _wp_privacy_send_erasure_fulfillment_notification( $request_id ); |
| | 413 | $mailer = tests_retrieve_phpmailer_instance(); |
| | 414 | |
| | 415 | $this->assertContains( 'Erasure Request Fulfilled', $mailer->get_sent()->subject ); |
| | 416 | } |
| | 417 | |
| | 418 | /** |
| | 419 | * The function should respect the site's locale when it is not en_US, the request is for an |
| | 420 | * unregistered user, and the administrator does not use the site's default locale. |
| | 421 | * |
| | 422 | * @since 5.2.0 |
| | 423 | * @ticket 44721 |
| | 424 | * @group l10n |
| | 425 | */ |
| | 426 | public function test_should_send_fulfillment_email_in_site_locale_when_not_en_us_and_admin_has_different_locale() { |
| | 427 | update_option( 'WPLANG', 'es_ES' ); |
| | 428 | switch_to_locale( 'es_ES' ); |
| | 429 | |
| | 430 | update_user_meta( self::$admin_user->ID, 'locale', 'de_DE' ); |
| | 431 | wp_set_current_user( self::$admin_user->ID ); |
| | 432 | |
| | 433 | $request_id = wp_create_user_request( 'erase-user-not-registered@example.com', 'remove_personal_data' ); |
| | 434 | wp_update_post( |
| | 435 | array( |
| | 436 | 'ID' => $request_id, |
| | 437 | 'post_status' => 'request-completed', |
| | 438 | ) |
| | 439 | ); |
| | 440 | |
| | 441 | _wp_privacy_send_erasure_fulfillment_notification( $request_id ); |
| | 442 | $mailer = tests_retrieve_phpmailer_instance(); |
| | 443 | |
| | 444 | $this->assertContains( 'Solicitud de borrado completada', $mailer->get_sent()->subject ); |
| | 445 | } |