UserModelTest extends TestCase Uses TestDatabase, RefreshDatabase, withTestUser
UserModelTest Class Tests the User Model.
Table of Contents
$migrated | bool | |
---|---|---|
setUp() | Setup the database schema. | void |
testUserHardDeleteWithUserRelations() | Test user hard deletion with user relations. | mixed |
setupTestDatabase() | Define the test_integration database connection the default one | mixed |
refreshDatabase() | Define hooks to migrate the database before and after each test. | mixed |
usingInMemoryDatabase() | Determine if an in-memory database is being used. | bool |
refreshInMemoryDatabase() | Refresh the in-memory database. | mixed |
refreshTestDatabase() | Refresh a conventional test database. | mixed |
beginDatabaseTransaction() | Handle database transactions on the specified connections. | mixed |
connectionsToTransact() | The database connections that should have transactions. | array |
loginUser() | mixed | |
logoutCurrentUser() | Logout | mixed |
createTestUser() | Create a test user with no settings/permissions for a controller test | User |
getRandomUserId() | Returns a random user id, exclusing th master id | int |
giveUserTestPermission() | Gives a user a new test permission | Permission |
giveUserPermission() | Add the test permission to a Role, then the role to the user | Role |
Properties
$migrated
public
static bool
$migrated
= false
Methods
setUp()
Setup the database schema.
public
setUp(
)
: void
testUserHardDeleteWithUserRelations()
Test user hard deletion with user relations.
public
testUserHardDeleteWithUserRelations(
)
: mixed
This is not a totaly acurate test, as each relations are added manually and new relations might not be added automatically to accuratly test
Return values
mixedsetupTestDatabase()
Define the test_integration database connection the default one
public
setupTestDatabase(
)
: mixed
Return values
mixedrefreshDatabase()
Define hooks to migrate the database before and after each test.
public
refreshDatabase(
)
: mixed
Return values
mixedusingInMemoryDatabase()
Determine if an in-memory database is being used.
public
usingInMemoryDatabase(
)
: bool
Return values
boolrefreshInMemoryDatabase()
Refresh the in-memory database.
protected
refreshInMemoryDatabase(
)
: mixed
Return values
mixedrefreshTestDatabase()
Refresh a conventional test database.
protected
refreshTestDatabase(
)
: mixed
Return values
mixedbeginDatabaseTransaction()
Handle database transactions on the specified connections.
protected
beginDatabaseTransaction(
)
: mixed
Return values
mixedconnectionsToTransact()
The database connections that should have transactions.
protected
connectionsToTransact(
)
: array
Return values
arrayloginUser()
protected
loginUser(
$user :
UserInterface
)
: mixed
Parameters
- $user : UserInterface
Return values
mixedlogoutCurrentUser()
Logout
protected
logoutCurrentUser(
)
: mixed
Return values
mixedcreateTestUser()
Create a test user with no settings/permissions for a controller test
protected
createTestUser(
[ $isMaster :
bool
= false ]
[, $login :
bool
= false ]
[, $params :
array
= [] ]
)
: User
Parameters
- $isMaster : bool = false
Does this user have root access? Will bypass all permissions
- $login : bool = false
Login this user, setting him as the currentUser
- $params : array = []
User account params
Return values
UsergetRandomUserId()
Returns a random user id, exclusing th master id
protected
getRandomUserId(
$masterId :
int
)
: int
Parameters
- $masterId : int
Return values
intgiveUserTestPermission()
Gives a user a new test permission
protected
giveUserTestPermission(
$user :
UserInterface
, $slug :
string
[, $conditions :
string
= 'always()' ]
)
: Permission
Parameters
- $user : UserInterface
- $slug : string
- $conditions : string = 'always()'
Return values
PermissiongiveUserPermission()
Add the test permission to a Role, then the role to the user
protected
giveUserPermission(
$user :
UserInterface
, $permission :
Permission
)
: Role
Parameters
- $user : UserInterface
- $permission : Permission
Return values
Role —The intermidiate role