]> BookStack Code Mirror - bookstack/blobdiff - tests/User/UserManagementTest.php
Sprinkled in some user language validation
[bookstack] / tests / User / UserManagementTest.php
index c09ce8cb3517494ca6d8da7658e0fe890ef27d15..f0bc7c2f066bb61a293a588611ec94919eea2c74 100644 (file)
@@ -234,4 +234,28 @@ class UserManagementTest extends TestCase
 
         $this->assertDatabaseMissing('activities', ['type' => 'USER_CREATE']);
     }
+
+    public function test_user_create_update_fails_if_locale_is_invalid()
+    {
+        $user = $this->getEditor();
+
+        // Too long
+        $resp = $this->asAdmin()->put($user->getEditUrl(), ['language' => 'this_is_too_long']);
+        $resp->assertSessionHasErrors(['language' => 'The language may not be greater than 15 characters.']);
+        session()->flush();
+
+        // Invalid characters
+        $resp = $this->put($user->getEditUrl(), ['language' => 'en<GB']);
+        $resp->assertSessionHasErrors(['language' => 'The language may only contain letters, numbers, dashes and underscores.']);
+        session()->flush();
+
+        // Both on create
+        $resp = $this->post('/settings/users/create', [
+            'language' => 'en<GB_and_this_is_longer',
+            'name' => 'My name',
+            'email' => '[email protected]',
+        ]);
+        $resp->assertSessionHasErrors(['language' => 'The language may not be greater than 15 characters.']);
+        $resp->assertSessionHasErrors(['language' => 'The language may only contain letters, numbers, dashes and underscores.']);
+    }
 }