public function test_adding_new_metadata()
{
$mao = $this->registry->getMAO("product");
$productId = MetadataId::generate();
$categoryId = MetadataId::generate();
$mao->save(new Metadata($productId, "product", ["category" => new Metadata($categoryId, 'category', ["name" => "Fancy stuff"])]));
$this->assertTrue($this->storage->has("association", "product", (string) $productId));
$this->assertTrue($this->storage->has("association", "category", (string) $categoryId));
$metadata = $mao->getBy(["id" => (string) $productId]);
$this->assertEquals($productId, $metadata->id());
$this->assertEquals($categoryId, $metadata->category->id());
$this->assertEquals("Fancy stuff", $metadata->category->name);
}