add unit tests

This commit is contained in:
Matthias Pfefferle 2024-10-17 11:30:47 +02:00
parent fb76e8f106
commit 545be65cb8
2 changed files with 77 additions and 19 deletions

View file

@ -277,25 +277,7 @@ class Migration {
* Update actor-mode settings. * Update actor-mode settings.
*/ */
private static function migrate_to_4_0_0() { private static function migrate_to_4_0_0() {
$blog_profile = \get_option( 'activitypub_enable_blog_user', false ); self::migrate_actor_mode();
$author_profiles = \get_option( 'activitypub_enable_users', false );
if (
'1' === $blog_profile &&
'1' === $author_profiles
) {
\update_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_AND_BLOG_MODE );
} elseif (
'1' === $blog_profile &&
'1' !== $author_profiles
) {
\update_option( 'activitypub_actor_mode', ACTIVITYPUB_BLOG_MODE );
} elseif (
'1' !== $blog_profile &&
'1' === $author_profiles
) {
\update_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_MODE );
}
} }
/** /**
@ -359,4 +341,29 @@ class Migration {
array( '%s' ) array( '%s' )
); );
} }
/**
* Migrate the actor mode settings.
*/
public static function migrate_actor_mode() {
$blog_profile = \get_option( 'activitypub_enable_blog_user', '0' );
$author_profiles = \get_option( 'activitypub_enable_users', '0' );
if (
'1' === $blog_profile &&
'1' === $author_profiles
) {
\update_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_AND_BLOG_MODE );
} elseif (
'1' === $blog_profile &&
'1' !== $author_profiles
) {
\update_option( 'activitypub_actor_mode', ACTIVITYPUB_BLOG_MODE );
} elseif (
'1' !== $blog_profile &&
'1' === $author_profiles
) {
\update_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_MODE );
}
}
} }

View file

@ -0,0 +1,51 @@
<?php
class Test_Activitypub_Migrate extends ActivityPub_TestCase_Cache_HTTP {
public function test_migrate_actor_mode() {
\delete_option( 'activitypub_actor_mode' );
\Activitypub\Migration::migrate_actor_mode();
$this->assertEquals( ACTIVITYPUB_ACTOR_MODE, \get_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_MODE ) );
\update_option( 'activitypub_enable_blog_user', '0' );
\update_option( 'activitypub_enable_users', '1' );
\delete_option( 'activitypub_actor_mode' );
\Activitypub\Migration::migrate_actor_mode();
$this->assertEquals( ACTIVITYPUB_ACTOR_MODE, \get_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_MODE ) );
\update_option( 'activitypub_enable_blog_user', '1' );
\update_option( 'activitypub_enable_users', '1' );
\delete_option( 'activitypub_actor_mode' );
\Activitypub\Migration::migrate_actor_mode();
$this->assertEquals( ACTIVITYPUB_ACTOR_AND_BLOG_MODE, \get_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_MODE ) );
\update_option( 'activitypub_enable_blog_user', '1' );
\update_option( 'activitypub_enable_users', '0' );
\delete_option( 'activitypub_actor_mode' );
\Activitypub\Migration::migrate_actor_mode();
$this->assertEquals( ACTIVITYPUB_BLOG_MODE, \get_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_MODE ) );
\delete_option( 'activitypub_enable_blog_user' );
\update_option( 'activitypub_enable_users', '0' );
\delete_option( 'activitypub_actor_mode' );
\Activitypub\Migration::migrate_actor_mode();
$this->assertEquals( ACTIVITYPUB_ACTOR_MODE, \get_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_MODE ) );
\update_option( 'activitypub_enable_blog_user', '0' );
\delete_option( 'activitypub_enable_users' );
\delete_option( 'activitypub_actor_mode' );
\Activitypub\Migration::migrate_actor_mode();
$this->assertEquals( ACTIVITYPUB_ACTOR_MODE, \get_option( 'activitypub_actor_mode', ACTIVITYPUB_ACTOR_MODE ) );
}
}