mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-11-20 08:30:06 +00:00
Fix possible null pointer.
This commit is contained in:
@@ -40,8 +40,9 @@ class TransactionJournalMetaFactoryTest extends TestCase
|
||||
public function testUpdateOrCreateBasic()
|
||||
{
|
||||
/** @var TransactionJournal $journal */
|
||||
$journal = $this->user()->transactionJournals()->where('transaction_type_id', 1)->first();
|
||||
$set = [
|
||||
$journal = $this->user()->transactionJournals()->inRandomOrder()->first();
|
||||
$journal->transactionJournalMeta()->delete();
|
||||
$set = [
|
||||
'journal' => $journal,
|
||||
'name' => 'hello',
|
||||
'data' => 'bye!',
|
||||
@@ -60,8 +61,9 @@ class TransactionJournalMetaFactoryTest extends TestCase
|
||||
public function testUpdateOrCreateDate()
|
||||
{
|
||||
/** @var TransactionJournal $journal */
|
||||
$journal = $this->user()->transactionJournals()->where('transaction_type_id', 2)->first();
|
||||
$set = [
|
||||
$journal = $this->user()->transactionJournals()->inRandomOrder()->first();
|
||||
$journal->transactionJournalMeta()->delete();
|
||||
$set = [
|
||||
'journal' => $journal,
|
||||
'name' => 'hello',
|
||||
'data' => new Carbon('2012-01-01'),
|
||||
@@ -101,5 +103,61 @@ class TransactionJournalMetaFactoryTest extends TestCase
|
||||
$this->assertEquals(0, $journal->transactionJournalMeta()->count());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Factory\TransactionJournalMetaFactory
|
||||
*/
|
||||
public function testUpdateOrCreateEmpty()
|
||||
{
|
||||
/** @var TransactionJournal $journal */
|
||||
$journal = $this->user()->transactionJournals()->inRandomOrder()->first();
|
||||
$journal->transactionJournalMeta()->delete();
|
||||
$set = [
|
||||
'journal' => $journal,
|
||||
'name' => 'hello',
|
||||
'data' => '',
|
||||
];
|
||||
/** @var TransactionJournalMetaFactory $factory */
|
||||
$factory = app(TransactionJournalMetaFactory::class);
|
||||
$result = $factory->updateOrCreate($set);
|
||||
|
||||
$this->assertEquals(0, $journal->transactionJournalMeta()->count());
|
||||
$this->assertNull($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers \FireflyIII\Factory\TransactionJournalMetaFactory
|
||||
*/
|
||||
public function testUpdateOrCreateExistingEmpty()
|
||||
{
|
||||
/** @var TransactionJournal $journal */
|
||||
$journal = $this->user()->transactionJournals()->inRandomOrder()->first();
|
||||
$journal->transactionJournalMeta()->delete();
|
||||
$set = [
|
||||
'journal' => $journal,
|
||||
'name' => 'hello',
|
||||
'data' => 'SomeData',
|
||||
];
|
||||
/** @var TransactionJournalMetaFactory $factory */
|
||||
$factory = app(TransactionJournalMetaFactory::class);
|
||||
$result = $factory->updateOrCreate($set);
|
||||
|
||||
$this->assertEquals(1, $journal->transactionJournalMeta()->count());
|
||||
$this->assertNotNull($result);
|
||||
|
||||
// overrule with empty entry:
|
||||
$set = [
|
||||
'journal' => $journal,
|
||||
'name' => 'hello',
|
||||
'data' => '',
|
||||
];
|
||||
/** @var TransactionJournalMetaFactory $factory */
|
||||
$factory = app(TransactionJournalMetaFactory::class);
|
||||
$result = $factory->updateOrCreate($set);
|
||||
|
||||
$this->assertEquals(0, $journal->transactionJournalMeta()->count());
|
||||
$this->assertNull($result);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user