Inject WPFunctions to FieldNameObfuscator using DI
[MAILPOET-2665]
This commit is contained in:
committed by
Jack Kitterhing
parent
7d596e3407
commit
d0acad5c3b
@@ -60,6 +60,7 @@ class SubscribersTest extends \MailPoetTest {
|
||||
$settings = $container->get(SettingsController::class);
|
||||
$wp = $container->get(Functions::class);
|
||||
$this->captchaSession = new CaptchaSession($container->get(Functions::class));
|
||||
$obfuscator = new FieldNameObfuscator($wp);
|
||||
$this->endpoint = new Subscribers(
|
||||
$container->get(BulkActionController::class),
|
||||
$container->get(SubscribersListings::class),
|
||||
@@ -71,9 +72,9 @@ class SubscribersTest extends \MailPoetTest {
|
||||
$settings,
|
||||
$this->captchaSession,
|
||||
$container->get(ConfirmationEmailMailer::class),
|
||||
new SubscriptionUrlFactory($wp, $settings, new LinkTokens)
|
||||
new SubscriptionUrlFactory($wp, $settings, new LinkTokens),
|
||||
$obfuscator
|
||||
);
|
||||
$obfuscator = new FieldNameObfuscator();
|
||||
$this->obfuscatedEmail = $obfuscator->obfuscate('email');
|
||||
$this->obfuscatedSegments = $obfuscator->obfuscate('segments');
|
||||
$this->segment1 = Segment::createOrUpdate(['name' => 'Segment 1']);
|
||||
|
@@ -16,6 +16,7 @@ use MailPoet\Settings\SettingsRepository;
|
||||
use MailPoet\Subscription\Form;
|
||||
use MailPoet\Util\Security;
|
||||
use MailPoet\Util\Url as UrlHelper;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Idiorm\ORM;
|
||||
|
||||
class FormTest extends \MailPoetTest {
|
||||
@@ -55,7 +56,7 @@ class FormTest extends \MailPoetTest {
|
||||
],
|
||||
]
|
||||
);
|
||||
$obfuscator = new FieldNameObfuscator();
|
||||
$obfuscator = new FieldNameObfuscator(WPFunctions::get());
|
||||
$obfuscatedEmail = $obfuscator->obfuscate('email');
|
||||
$this->requestData = [
|
||||
'action' => 'mailpoet_subscription_form',
|
||||
|
@@ -2,46 +2,43 @@
|
||||
|
||||
namespace MailPoet\Form\Util;
|
||||
|
||||
use Codeception\Stub;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
|
||||
class FieldNameObfuscatorTest extends \MailPoetUnitTest {
|
||||
|
||||
/** @var MockObject | WPFunctions */
|
||||
private $wpMock;
|
||||
|
||||
/** @var FieldNameObfuscator */
|
||||
private $obfuscator;
|
||||
|
||||
public function _before() {
|
||||
parent::_before();
|
||||
WPFunctions::set(
|
||||
Stub::make(WPFunctions::class, [
|
||||
'homeUrl' => 'http://example.com',
|
||||
])
|
||||
);
|
||||
$this->wpMock = $this->createMock(WPFunctions::class);
|
||||
$this->wpMock->method('homeUrl')->willReturn('http://example.com');
|
||||
$this->obfuscator = new FieldNameObfuscator($this->wpMock);
|
||||
}
|
||||
|
||||
public function testObfuscateWorks() {
|
||||
$obfuscator = new FieldNameObfuscator();
|
||||
expect($obfuscator->obfuscate('email'))->notContains('email');
|
||||
expect($this->obfuscator->obfuscate('email'))->notContains('email');
|
||||
}
|
||||
|
||||
public function testObfuscateDeobfuscateWorks() {
|
||||
$obfuscator = new FieldNameObfuscator();
|
||||
$obfuscated = $obfuscator->obfuscate('email');
|
||||
expect($obfuscator->deobfuscate($obfuscated))->equals('email');
|
||||
$obfuscated = $this->obfuscator->obfuscate('email');
|
||||
expect($this->obfuscator->deobfuscate($obfuscated))->equals('email');
|
||||
}
|
||||
|
||||
public function testObfuscatePayloadWorks() {
|
||||
$obfuscator = new FieldNameObfuscator();
|
||||
$obfuscated = $obfuscator->obfuscate('email');
|
||||
$obfuscated = $this->obfuscator->obfuscate('email');
|
||||
$data = [
|
||||
'regularField' => 'regularValue',
|
||||
$obfuscated => 'obfuscatedFieldValue',
|
||||
];
|
||||
$deobfuscatedPayload = $obfuscator->deobfuscateFormPayload($data);
|
||||
$deobfuscatedPayload = $this->obfuscator->deobfuscateFormPayload($data);
|
||||
expect($deobfuscatedPayload)->equals([
|
||||
'regularField' => 'regularValue',
|
||||
'email' => 'obfuscatedFieldValue',
|
||||
]);
|
||||
}
|
||||
|
||||
public function _after() {
|
||||
parent::_after();
|
||||
WPFunctions::set(new WPFunctions());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user