format([ 'firstname' => 'john', 'lastname' => 'doe', 'email' => 'USER@EXAMPLE.COM', 'gender' => 'Male', 'city' => 'new haven', 'cellphone' => '(203) 555-1234', 'address_street' => '123 main st', 'apt' => 'a1', 'state' => 'ct', 'zip' => '06510', 'accept_school_policy' => 1, 'no_second_parent_info' => 1, ]); $this->assertSame('John', $result['firstname']); $this->assertSame('Doe', $result['lastname']); $this->assertSame('user@example.com', $result['email']); $this->assertSame('New Haven', $result['city']); $this->assertSame('203-555-1234', $result['cellphone']); $this->assertSame('CT', $result['state']); $this->assertArrayNotHasKey('second_firstname', $result); } public function test_format_includes_second_parent_when_present(): void { $formatter = new RegistrationFormatterService(new PhoneFormatterService); $result = $formatter->format([ 'firstname' => 'john', 'lastname' => 'doe', 'email' => 'user@example.com', 'gender' => 'Male', 'city' => 'new haven', 'cellphone' => '2035551234', 'address_street' => '123 main st', 'apt' => 'a1', 'state' => 'ct', 'zip' => '06510', 'accept_school_policy' => 1, 'second_firstname' => 'jane', 'second_lastname' => 'doe', 'second_gender' => 'Female', 'second_email' => 'jane@example.com', 'second_cellphone' => '2035559876', ]); $this->assertSame('Jane', $result['second_firstname']); $this->assertSame('Doe', $result['second_lastname']); $this->assertSame('jane@example.com', $result['second_email']); $this->assertSame('203-555-9876', $result['second_cellphone']); } }