InstanceType::Mastodon->value, 'url' => 'https://mastodon.social', 'enabled' => true, 'interval_seconds' => 600, 'extras' => ['token' => 'abc123'], ]); Instance::create($config->toArray()); $this->artisan('fedi-discover:validate') ->assertExitCode(0); } public function test_an_instance_config_survives_a_write_read_cycle_through_the_model(): void { $original = InstanceConfig::fromArray([ 'type' => InstanceType::Mastodon->value, 'url' => 'https://hachyderm.io', 'enabled' => false, 'interval_seconds' => 900, 'extras' => ['foo' => 'bar'], ]); Instance::create($original->toArray()); $instance = Instance::query()->firstOrFail(); $roundTripped = InstanceConfig::fromArray([ 'type' => $instance->type->value, 'url' => $instance->url, 'enabled' => $instance->enabled, 'interval_seconds' => $instance->interval_seconds, 'extras' => $instance->extras, ]); $this->assertEquals($original, $roundTripped); } }