flagManagerMock = $this->getMockBuilder(FlagManager::class) ->disableOriginalConstructor() ->getMock(); $this->dataObjectFactoryMock = $this->getMockBuilder(DataObjectFactory::class) ->setMethods(['create']) ->disableOriginalConstructor() ->getMock(); $this->dataObjectMock = $this->getMockBuilder(DataObject::class) ->disableOriginalConstructor() ->getMock(); $this->dataObjectFactoryMock->expects($this->any()) ->method('create') ->willReturn($this->dataObjectMock); $this->model = new InitialSnapshotConfigSource( $this->flagManagerMock, $this->dataObjectFactoryMock ); } public function testGet() { $this->flagManagerMock->expects($this->exactly(2)) ->method('getFlagData') ->with('system_config_snapshot') ->willReturnOnConsecutiveCalls( ['some' => 'data'], 'data' ); $this->dataObjectMock->expects($this->exactly(2)) ->method('getData') ->willReturnOnConsecutiveCalls( ['some' => 'data'], 'data' ); $this->assertSame(['some' => 'data'], $this->model->get()); $this->assertSame('data', $this->model->get('some/path')); } }