Added more sane config defaults and unit tests.

This marks the release of version 1.3.0.
This commit is contained in:
Abel Hoogeveen 2023-02-08 12:29:08 +01:00
parent 04c84ca83b
commit 0ed0fd0fac
3 changed files with 102 additions and 2 deletions

View File

@ -45,7 +45,8 @@ return [
'forgot_password_enabled' => true,
// The database group to use for authentication
'database_group' => 'default',
'database_group' => 'pdo',
'pdo_table_prefix' => '',
// Password settings
'password_min_length' => 8,
@ -53,6 +54,9 @@ return [
'password_algorithm' => PASSWORD_DEFAULT,
'password_options' => [],
// 2FA setting
'enforce_2fa' => false,
// Email settings
'verifyEmailWithin' => 3600*24*3
];

View File

@ -35,6 +35,7 @@
*/
use FuzeWorks\Authentication\AuthenticationPlugin;
use FuzeWorks\ConfigORM\ConfigORM;
use FuzeWorks\Factory;
use PHPUnit\Framework\TestCase;
@ -46,11 +47,35 @@ class PluginTest extends TestCase
public function setUp(): void
{
parent::setUp();
$this->plugin = Factory::getInstance('plugins')->get('authentication');
$this->plugin = Factory::getInstance('plugins')->get('auth');
}
public function testFoundation()
{
$this->assertInstanceOf(AuthenticationPlugin::class, $this->plugin);
}
/**
* @depends testFoundation
*/
public function testGetConfig()
{
// Assert instance
$this->assertInstanceOf(ConfigORM::class, $this->plugin->getConfig());
// Assert contents
$this->assertEquals('auth', $this->plugin->getConfig()->get('auth_url'));
}
/**
* @depends testGetConfig
*/
public function testGetAuthenticationUrl()
{
$this->assertEquals('/auth', $this->plugin->getAuthenticationUrl());
}
}

View File

@ -0,0 +1,71 @@
<?php
/**
* FuzeWorks Authentication Plugin.
*
* The FuzeWorks PHP FrameWork
*
* Copyright (C) 2013-2023 i15
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* @author i15
* @copyright Copyright (c) 2013 - 2023, i15. (http://i15.nl)
* @license https://opensource.org/licenses/MIT MIT License
*
* @link https://i15.nl
* @since Version 1.3.0
*
* @version Version 1.3.0
*/
use FuzeWorks\Authentication\AuthenticationPlugin;
use FuzeWorks\Authentication\Model\Users;
use FuzeWorks\Authentication\UsersModelDriverInterface;
use FuzeWorks\Factory;
use PHPUnit\Framework\TestCase;
class UsersModelTest extends TestCase
{
private Users $usersModel;
public function setUp(): void
{
parent::setUp();
/** @var AuthenticationPlugin $plugin */
$plugin = Factory::getInstance('plugins')->get('auth');
$this->usersModel = $plugin->users;
}
public function testFoundation()
{
$this->assertInstanceOf(Users::class, $this->usersModel);
}
/**
* @depends testFoundation
*/
public function testCreateUser()
{
}
}