/** * Test persistVersionOf method. */ public function testPersistVersionOf() { $this->given($post = PostEventSourcedFactory::create($this->faker->sentence, $this->faker->paragraph))->and($version = VersionManager::versionOf($post))->then()->object($version)->isEqualTo(Version::fromString('0.0.0'))->and()->when($post->version()->setMinor(23))->and($post->version()->setPatch(45))->and(VersionManager::persistVersionOf($post))->then()->object(VersionManager::versionOf($post))->isEqualTo(new Version(0, 23, 0))->object(VersionManager::versionOf($post, Version::fromString('1.1.0')))->isEqualTo(new Version(0, 0, 0)); }
/** * {@inheritdoc} */ public function version() { if ($this->version === null) { $this->version = VersionManager::versionOf($this); } return $this->version; }