xref: /webtrees/tests/app/Census/CensusColumnOccupationTest.php (revision ef21b467575956631eb5374fe4f2bfb94e69aaa9)
1<?php
2
3/**
4 * webtrees: online genealogy
5 * Copyright (C) 2015 webtrees development team
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18namespace Fisharebest\Webtrees\Census;
19
20use Fisharebest\Webtrees\Date;
21use Fisharebest\Webtrees\Fact;
22use Fisharebest\Webtrees\Individual;
23use Mockery;
24
25/**
26 * Test harness for the class CensusColumnOccupation
27 */
28class CensusColumnOccupationTest extends \PHPUnit_Framework_TestCase {
29	/**
30	 * Delete mock objects
31	 */
32	public function tearDown() {
33		Mockery::close();
34	}
35
36	/**
37	 * @covers Fisharebest\Webtrees\Census\CensusColumnOccupation
38	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn
39	 */
40	public function testNoOccupation() {
41		$individual = Mockery::mock(Individual::class);
42		$individual->shouldReceive('getFacts')->withArgs(['OCCU'])->andReturn([]);
43
44		$census = Mockery::mock(CensusInterface::class);
45
46		$column = new CensusColumnOccupation($census, '', '');
47
48		$this->assertSame('', $column->generate($individual));
49	}
50
51	/**
52	 * @covers Fisharebest\Webtrees\Census\CensusColumnOccupation
53	 * @covers Fisharebest\Webtrees\Census\AbstractCensusColumn
54	 */
55	public function testOccupation() {
56		$fact = Mockery::mock(Fact::class);
57		$fact->shouldReceive('getValue')->andReturn('Farmer');
58
59		$individual = Mockery::mock(Individual::class);
60		$individual->shouldReceive('getFacts')->withArgs(['OCCU'])->andReturn([$fact]);
61
62		$census = Mockery::mock(CensusInterface::class);
63
64		$column = new CensusColumnOccupation($census, '', '');
65
66		$this->assertSame('Farmer', $column->generate($individual));
67	}
68}
69