]> git.mxchange.org Git - friendica.git/blob - tests/src/Contact/FriendSuggest/Factory/FriendSuggestTest.php
Reenable Twitter/Mentions tests
[friendica.git] / tests / src / Contact / FriendSuggest / Factory / FriendSuggestTest.php
1 <?php
2
3 namespace Friendica\Test\src\Contact\FriendSuggest\Factory;
4
5 use Friendica\Contact\FriendSuggest\Factory\FriendSuggest;
6 use Friendica\Contact\FriendSuggest\Entity;
7 use Friendica\Test\MockedTest;
8 use Psr\Log\NullLogger;
9
10 class FriendSuggestTest extends MockedTest
11 {
12         public function dataCreate()
13         {
14                 return [
15                         'default' => [
16                                 'input' => [
17                                         'uid'     => 12,
18                                         'cid'     => 13,
19                                         'name'    => 'test',
20                                         'url'     => 'https://friendica.local/profile/test',
21                                         'request' => 'https://friendica.local/dfrn_request/test',
22                                         'photo'   => 'https://friendica.local/photo/profile/test',
23                                         'note'    => 'a common note',
24                                         'created' => '2021-10-12 12:23:00'
25                                 ],
26                                 'assertion' => new Entity\FriendSuggest(
27                                         12,
28                                         13,
29                                         'test',
30                                         'https://friendica.local/profile/test',
31                                         'https://friendica.local/dfrn_request/test',
32                                         'https://friendica.local/photo/profile/test',
33                                         'a common note',
34                                         new \DateTime('2021-10-12 12:23:00', new \DateTimeZone('UTC'))
35                                 ),
36                         ],
37                         'minimum' => [
38                                 'input' => [
39                                         'id' => 20,
40                                 ],
41                                 'assertion' => new Entity\FriendSuggest(
42                                         0,
43                                         0,
44                                         '',
45                                         '',
46                                         '',
47                                         '',
48                                         '',
49                                         new \DateTime('now', new \DateTimeZone('UTC')),
50                                         20
51                                 ),
52                         ],
53                         'full' => [
54                                 'input' => [
55                                         'uid'     => 12,
56                                         'cid'     => 13,
57                                         'name'    => 'test',
58                                         'url'     => 'https://friendica.local/profile/test',
59                                         'request' => 'https://friendica.local/dfrn_request/test',
60                                         'photo'   => 'https://friendica.local/photo/profile/test',
61                                         'note'    => 'a common note',
62                                         'created' => '2021-10-12 12:23:00',
63                                         'id'      => 666,
64                                 ],
65                                 'assertion' => new Entity\FriendSuggest(
66                                         12,
67                                         13,
68                                         'test',
69                                         'https://friendica.local/profile/test',
70                                         'https://friendica.local/dfrn_request/test',
71                                         'https://friendica.local/photo/profile/test',
72                                         'a common note',
73                                         new \DateTime('2021-10-12 12:23:00', new \DateTimeZone('UTC')),
74                                         666
75                                 ),
76                         ],
77                 ];
78         }
79
80         public function assertFriendSuggest(Entity\FriendSuggest $assertion, Entity\FriendSuggest $friendSuggest)
81         {
82                 self::assertEquals($assertion->id, $friendSuggest->id);
83                 self::assertEquals($assertion->uid, $friendSuggest->uid);
84                 self::assertEquals($assertion->cid, $friendSuggest->cid);
85                 self::assertEquals($assertion->name, $friendSuggest->name);
86                 self::assertEquals($assertion->url, $friendSuggest->url);
87                 self::assertEquals($assertion->request, $friendSuggest->request);
88                 self::assertEquals($assertion->photo, $friendSuggest->photo);
89                 self::assertEquals($assertion->note, $friendSuggest->note);
90         }
91
92         public function testCreateNew()
93         {
94                 $factory = new FriendSuggest(new NullLogger());
95
96                 $this->assertFriendSuggest(
97                         $factory->createNew(12, 13),
98                         new Entity\FriendSuggest(12, 13, '', '', '', '', '',
99                                 new \DateTime('now', new \DateTimeZone('UTC')), null
100                         )
101                 );
102         }
103
104         /**
105          * @dataProvider dataCreate
106          */
107         public function testCreateFromTableRow(array $input, Entity\FriendSuggest $assertion)
108         {
109                 $factory = new FriendSuggest(new NullLogger());
110
111                 $this->assertFriendSuggest($factory->createFromTableRow($input), $assertion);
112         }
113
114         public function testCreateEmpty()
115         {
116                 $factory = new FriendSuggest(new NullLogger());
117
118                 $this->assertFriendSuggest($factory->createEmpty(66), new Entity\FriendSuggest(0, 0, '', '', '', '', '',
119                         new \DateTime('now', new \DateTimeZone('UTC')), 66
120                 ));
121         }
122 }