GSActorTest.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. // {{{ License
  3. // This file is part of GNU social - https://www.gnu.org/software/social
  4. //
  5. // GNU social is free software: you can redistribute it and/or modify
  6. // it under the terms of the GNU Affero General Public License as published by
  7. // the Free Software Foundation, either version 3 of the License, or
  8. // (at your option) any later version.
  9. //
  10. // GNU social 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 Affero General Public License for more details.
  14. //
  15. // You should have received a copy of the GNU Affero General Public License
  16. // along with GNU social. If not, see <http://www.gnu.org/licenses/>.
  17. // }}}
  18. namespace App\Tests\Entity;
  19. use App\Core\DB\DB;
  20. use App\Entity\GSActor;
  21. use App\Entity\GSActorTag;
  22. use App\Util\GNUsocialTestCase;
  23. use Functional as F;
  24. use Jchook\AssertThrows\AssertThrows;
  25. class GSActorTest extends GNUsocialTestCase
  26. {
  27. use AssertThrows;
  28. public function testGetAvatarUrl()
  29. {
  30. $actor = DB::findOneBy('gsactor', ['nickname' => 'taken_user']);
  31. static::assertSame("/{$actor->getId()}/avatar", $actor->getAvatarUrl());
  32. }
  33. public function testGetFromNickname()
  34. {
  35. static::assertNotNull(GSActor::getFromNickname('taken_user'));
  36. }
  37. public function testSelfTags()
  38. {
  39. $actor = DB::findOneBy('gsactor', ['nickname' => 'taken_user']);
  40. $tags = $actor->getSelfTags();
  41. $actor->setSelfTags(['foo'], $tags);
  42. DB::flush();
  43. $get_tags = fn ($tags) => F\map($tags, fn (GSActorTag $t) => (string) $t);
  44. static::assertSame(['foo'], $get_tags($tags = $actor->getSelfTags()));
  45. $actor->setSelfTags(['bar'], $tags);
  46. DB::flush();
  47. static::assertSame(['bar'], $get_tags($tags = $actor->getSelfTags()));
  48. }
  49. }