/** * @test */ public function it_returns_new_instance_with_replaced_metadata() { $newCommand = $this->command->withMetadata(['other' => 'metadata']); $this->assertNotSame($this->command, $newCommand); $this->assertEquals(['command' => 'metadata'], $this->command->metadata()); $this->assertEquals(['other' => 'metadata'], $newCommand->metadata()); }