Implement SocialAccount model with enum fields for network and type, along with migration and factory. Includes NETWORKS and TYPES constants for dropdown usage in Livewire forms and validation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
32 lines
912 B
PHP
32 lines
912 B
PHP
<?php
|
|
|
|
use App\Models\SocialAccount;
|
|
|
|
test('a social account can be created with all required fields and a type', function () {
|
|
$account = SocialAccount::create([
|
|
'network' => 'twitter',
|
|
'username' => 'my_handle',
|
|
'email' => 'handle@example.com',
|
|
'password' => 'plain-text-password',
|
|
'type' => 'post',
|
|
]);
|
|
|
|
expect($account->fresh())
|
|
->network->toBe('twitter')
|
|
->username->toBe('my_handle')
|
|
->email->toBe('handle@example.com')
|
|
->password->toBe('plain-text-password')
|
|
->type->toBe('post');
|
|
});
|
|
|
|
test('a social account can be created with a null type', function () {
|
|
$account = SocialAccount::create([
|
|
'network' => 'instagram',
|
|
'username' => 'my_handle',
|
|
'email' => 'handle@example.com',
|
|
'password' => 'plain-text-password',
|
|
]);
|
|
|
|
expect($account->fresh()->type)->toBeNull();
|
|
});
|