@error('phone')
{{ $message }}
@@ -54,8 +61,9 @@
-
-
+
+
@error('password')
{{ $message }}
@@ -64,8 +72,11 @@
-
-
+
+
@error('password_confirmation')
{{ $message }}
@@ -75,7 +86,8 @@
-
+
diff --git a/resources/views/portal/ninja2020/profile/settings/name-website-logo.blade.php b/resources/views/portal/ninja2020/profile/settings/name-website-logo.blade.php
index cd1f88afcb9d..a99547730af9 100644
--- a/resources/views/portal/ninja2020/profile/settings/name-website-logo.blade.php
+++ b/resources/views/portal/ninja2020/profile/settings/name-website-logo.blade.php
@@ -13,45 +13,49 @@
-
-
+
+
@error('name')
-
- {{ $message }}
-
+
+ {{ $message }}
+
@enderror
-
-
+
+
@error('vat_number')
-
- {{ $message }}
-
+
+ {{ $message }}
+
@enderror
-
-
+
+
@error('phone')
-
- {{ $message }}
-
+
+ {{ $message }}
+
@enderror
-
+
E.g. https://example.com
-
+
@error('website')
-
- {{ $message }}
-
+
+ {{ $message }}
+
@enderror
diff --git a/tests/Browser/ClientPortal/ProfileSettingsTest.php b/tests/Browser/ClientPortal/ProfileSettingsTest.php
index f685b5a6c8e6..2e5b5bcd71d3 100644
--- a/tests/Browser/ClientPortal/ProfileSettingsTest.php
+++ b/tests/Browser/ClientPortal/ProfileSettingsTest.php
@@ -47,7 +47,7 @@ class ProfileSettingsTest extends DuskTestCase
{
$original = [
'name' => $this->faker->name,
- 'vat_number' => $this->faker->randomNumber(6),
+ 'vat_number' => (string)$this->faker->randomNumber(6),
'phone' => $this->faker->phoneNumber,
'website' => $this->faker->url,
];
@@ -60,21 +60,67 @@ class ProfileSettingsTest extends DuskTestCase
->waitForText('Client Information');
$browser
- ->type('name', $original['name'])
- ->type('vat_number', $original['vat_number'])
- ->type('phone', $original['phone'])
- ->type('website', $original['website'])
- ->press('Save')
- ->refresh();
+ ->with('#update_contact', function (Browser $form) use ($original) {
+ $form
+ ->type('#client_name', $original['name'])
+ ->type('#client_vat_number', $original['vat_number'])
+ ->type('#client_phone', $original['phone'])
+ ->type('#client_website', $original['website'])
+ ->press('Save');
+ })
+ ->pause(2000)
+ ->refresh()
+ ->pause(2000);
$updated = [
- 'name' => $browser->inputValue('name'),
- 'vat_number' => $browser->inputValue('vat_number'),
- 'phone' => $browser->inputValue('phone'),
- 'website' => $browser->inputValue('website')
+ 'name' => $browser->value('#client_name'),
+ 'vat_number' => $browser->value('#client_vat_number'),
+ 'phone' => $browser->value('#client_phone'),
+ 'website' => $browser->value('#client_website')
];
- $this->assertNotSame($original, $updated);
+ $this->assertSame($original, $updated);
+ });
+ }
+
+ public function testContactDetailsUpdate()
+ {
+ $original = [
+ 'first_name' => $this->faker->firstName,
+ 'last_name' => $this->faker->lastName,
+ 'email_address' => 'user@example.com',
+ 'phone' => $this->faker->phoneNumber,
+ ];
+
+ $this->browse(function (Browser $browser) use ($original) {
+ $browser
+ ->visitRoute('client.invoices.index')
+ ->click('button[data-ref="client-profile-dropdown"]')
+ ->click('a[data-ref="client-profile-dropdown-settings"]')
+ ->waitForText('Client Information');
+
+ $browser
+ ->with('#update_client', function (Browser $form) use ($original) {
+ $form
+ ->type('#contact_first_name', $original['first_name'])
+ ->type('#contact_last_name', $original['last_name'])
+ ->scrollIntoView('#contact_email_address')
+ ->type('#contact_email_address', $original['email_address'])
+ ->type('#contact_phone', $original['phone'])
+ ->click('button[data-ref="update-contact-details"]');
+ })
+ ->pause(2000)
+ ->refresh()
+ ->pause(2000);
+
+ $updated = [
+ 'first_name' => $browser->value('#contact_first_name'),
+ 'last_name' => $browser->value('#contact_last_name'),
+ 'email_address' => $browser->value('#contact_email_address'),
+ 'phone' => $browser->value('#contact_phone'),
+ ];
+
+ $this->assertSame($original, $updated);
});
}
}