diff --git a/src/Auth/UserRepository.php b/src/Auth/UserRepository.php index beca1a57f4e..dcd6785b929 100644 --- a/src/Auth/UserRepository.php +++ b/src/Auth/UserRepository.php @@ -66,11 +66,11 @@ public function blueprint() } $blueprint = Blueprint::find('user') ?? Blueprint::makeFromFields([ - 'name' => ['type' => 'text', 'display' => __('Name'), 'listable' => true], - 'email' => ['type' => 'text', 'input_type' => 'email', 'display' => __('Email Address'), 'listable' => true], + 'name' => ['type' => 'text', 'autocomplete' => 'name', 'display' => __('Name'), 'listable' => true], + 'email' => ['type' => 'text', 'input_type' => 'email', 'autocomplete' => 'email', 'display' => __('Email Address'), 'listable' => true], ])->setHandle('user'); - $blueprint->ensureField('email', ['type' => 'text', 'input_type' => 'email', 'display' => __('Email Address'), 'listable' => true]); + $blueprint->ensureField('email', ['type' => 'text', 'input_type' => 'email', 'autocomplete' => 'email', 'display' => __('Email Address'), 'listable' => true]); if (Statamic::pro()) { $blueprint->ensureField('roles', ['type' => 'user_roles', 'mode' => 'select', 'width' => 50, 'listable' => true, 'filterable' => false]); diff --git a/tests/Auth/UserContractTests.php b/tests/Auth/UserContractTests.php index 7f6d9b2cd6d..f8834dd3889 100644 --- a/tests/Auth/UserContractTests.php +++ b/tests/Auth/UserContractTests.php @@ -419,17 +419,31 @@ public function it_provides_email_field_fallback_in_blueprint() $this->assertTrue($this->user()->blueprint()->hasField('email')); $this->assertEquals('Email Address', $this->user()->blueprint()->fields()->get('email')->display()); $this->assertEquals('email', $this->user()->blueprint()->fields()->get('email')->get('input_type')); + $this->assertEquals('email', $this->user()->blueprint()->fields()->get('email')->get('autocomplete')); } #[Test] public function it_allows_email_field_customizations_in_blueprint() { - $blueprint = Blueprint::makeFromFields(['email' => ['display' => 'Custom Email Display']]); + $blueprint = Blueprint::makeFromFields(['email' => ['display' => 'Custom Email Display', 'autocomplete' => 'off']]); Blueprint::shouldReceive('find')->with('user')->andReturn($blueprint); $this->assertTrue($this->user()->blueprint()->hasField('email')); $this->assertEquals('Custom Email Display', $this->user()->blueprint()->fields()->get('email')->display()); $this->assertEquals('email', $this->user()->blueprint()->fields()->get('email')->get('input_type')); + $this->assertEquals('off', $this->user()->blueprint()->fields()->get('email')->get('autocomplete')); + } + + #[Test] + public function it_provides_name_and_email_fields_when_no_blueprint_is_defined() + { + Blueprint::partialMock()->shouldReceive('find')->with('user')->andReturnNull(); + + $fields = $this->user()->blueprint()->fields(); + + $this->assertEquals('name', $fields->get('name')->get('autocomplete')); + $this->assertEquals('email', $fields->get('email')->get('autocomplete')); + $this->assertEquals('email', $fields->get('email')->get('input_type')); } #[Test] diff --git a/tests/Tags/User/ProfileFormTest.php b/tests/Tags/User/ProfileFormTest.php index 20b8cca20e5..77ee951d77a 100644 --- a/tests/Tags/User/ProfileFormTest.php +++ b/tests/Tags/User/ProfileFormTest.php @@ -74,8 +74,8 @@ public function it_renders_form_with_fields_array() preg_match_all($this->regex(), $output, $actual); $expected = [ - '', - '', + '', + '', ]; $this->assertEquals($expected, $actual[0]); @@ -112,7 +112,7 @@ public function it_renders_form_with_tabs_array_and_custom_blueprint() '