diff options
| author | Greg Roach <fisharebest@webtrees.net> | 2019-01-02 15:34:23 +0000 |
|---|---|---|
| committer | Greg Roach <fisharebest@webtrees.net> | 2019-01-02 15:34:23 +0000 |
| commit | 8f9b0fb289eccd0c5057286c6cfe4391622acc59 (patch) | |
| tree | ee1a433d82208348db8dbeda9b7502886eb49db9 /tests/app/TreeTest.php | |
| parent | 963fbaee2ae81aae0f69ffa68e429893688ed064 (diff) | |
| download | webtrees-8f9b0fb289eccd0c5057286c6cfe4391622acc59.tar.gz webtrees-8f9b0fb289eccd0c5057286c6cfe4391622acc59.tar.bz2 webtrees-8f9b0fb289eccd0c5057286c6cfe4391622acc59.zip | |
Tests
Diffstat (limited to 'tests/app/TreeTest.php')
| -rw-r--r-- | tests/app/TreeTest.php | 77 |
1 files changed, 72 insertions, 5 deletions
diff --git a/tests/app/TreeTest.php b/tests/app/TreeTest.php index 6aff382d6f..af4a4a3560 100644 --- a/tests/app/TreeTest.php +++ b/tests/app/TreeTest.php @@ -91,17 +91,84 @@ class TreeTest extends \Fisharebest\Webtrees\TestCase $user->setPreference('canadmin', '1'); Auth::login($user); - $gedcom = "0 @@ INDI\n1 SEX F\n1 NAME Foo /Bar/"; + $record = $tree->createIndividual("0 @@ INDI\n1 SEX F\n1 NAME Foo /Bar/"); + $this->assertTrue($record->isPendingAddition()); - $individual1 = $tree->createIndividual($gedcom); + $user->setPreference('auto_accept', '1'); + $record = $tree->createIndividual("0 @@ INDI\n1 SEX F\n1 NAME Foo /Bar/"); + $this->assertFalse($record->isPendingAddition()); + } + + /** + * @covers \Fisharebest\Webtrees\Tree::getNewXref + * + * @return void + */ + public function testGetNewXref(): void + { + $tree = Tree::create('tree-name', 'Tree title'); - $this->assertTrue($individual1->isPendingAddition()); + $this->assertSame('X1', $tree->getNewXref()); + $this->assertSame('X2', $tree->getNewXref()); + $this->assertSame('X3', $tree->getNewXref()); + $this->assertSame('X4', $tree->getNewXref()); + $this->assertSame('X5', $tree->getNewXref()); + } + + /** + * @covers \Fisharebest\Webtrees\Tree::createFamily + * + * @return void + */ + public function testCreateFamily(): void + { + $tree = Tree::create('tree-name', 'Tree title'); + $user = User::create('user', 'User', 'user@example.com', 'secret'); + $user->setPreference('canadmin', '1'); + Auth::login($user); + + $record = $tree->createFamily("0 @@ FAM\n1 MARR Y"); + $this->assertTrue($record->isPendingAddition()); $user->setPreference('auto_accept', '1'); + $record = $tree->createFamily("0 @@ FAM\n1 MARR Y"); + $this->assertFalse($record->isPendingAddition()); + } + + /** + * @covers \Fisharebest\Webtrees\Tree::significantIndividual + * + * @return void + */ + public function testSignificantIndividual(): void + { + $tree = Tree::create('tree-name', 'Tree title'); + $user = User::create('user', 'User', 'user@example.com', 'secret'); + $user->setPreference('auto_accept', '1'); + Auth::login($user); + $individual = $tree->significantIndividual($user); + + // No individuals in tree? Dummy individual + $this->assertSame('I', $tree->significantIndividual($user)->xref()); + + $record1 = $tree->createIndividual("0 @@ INDI\n1 SEX F\n1 NAME Foo /Bar/"); + $record2 = $tree->createIndividual("0 @@ INDI\n1 SEX F\n1 NAME Foo /Bar/"); + $record3 = $tree->createIndividual("0 @@ INDI\n1 SEX F\n1 NAME Foo /Bar/"); + $record4 = $tree->createIndividual("0 @@ INDI\n1 SEX F\n1 NAME Foo /Bar/"); + + // Individuals exist? First one (lowest XREF). + $this->assertSame($record1->xref(), $tree->significantIndividual($user)->xref()); - $individual2 = $tree->createIndividual($gedcom); + // Preference for tree? + $tree->setPreference('PEDIGREE_ROOT_ID', $record2->xref()); + $this->assertSame($record2->xref(), $tree->significantIndividual($user)->xref()); - $this->assertFalse($individual2->isPendingAddition()); + // User preference + $tree->setUserPreference($user, 'gedcomid', $record3->xref()); + $this->assertSame($record3->xref(), $tree->significantIndividual($user)->xref()); + // User record + $tree->setUserPreference($user, 'rootid', $record4->xref()); + $this->assertSame($record4->xref(), $tree->significantIndividual($user)->xref()); } } |
