wpMock = $this->createMock(WPFunctions::class); $this->wpMock->method('homeUrl')->willReturn('http://example.com'); $this->obfuscator = new FieldNameObfuscator($this->wpMock); } public function testObfuscateWorks() { expect($this->obfuscator->obfuscate('email'))->notContains('email'); } public function testObfuscateDeobfuscateWorks() { $obfuscated = $this->obfuscator->obfuscate('email'); expect($this->obfuscator->deobfuscate($obfuscated))->equals('email'); } public function testObfuscatePayloadWorks() { $obfuscated = $this->obfuscator->obfuscate('email'); $data = [ 'regularField' => 'regularValue', $obfuscated => 'obfuscatedFieldValue', ]; $deobfuscatedPayload = $this->obfuscator->deobfuscateFormPayload($data); expect($deobfuscatedPayload)->equals([ 'regularField' => 'regularValue', 'email' => 'obfuscatedFieldValue', ]); } }