23 private $nameResolverMock;
28 private $selectBuilderMock;
33 private $objectManagerHelper;
38 private $columnsResolverMock;
43 private $resourceConnection;
50 $this->nameResolverMock = $this->getMockBuilder(
51 \
Magento\Analytics\ReportXml\DB\NameResolver::class
53 ->disableOriginalConstructor()
56 $this->selectBuilderMock = $this->getMockBuilder(
57 \
Magento\Analytics\ReportXml\DB\SelectBuilder::class
59 ->disableOriginalConstructor()
61 $this->selectBuilderMock->expects($this->any())
62 ->method(
'getColumns')
65 $this->columnsResolverMock = $this->getMockBuilder(
66 \
Magento\Analytics\ReportXml\DB\ColumnsResolver::class
68 ->disableOriginalConstructor()
71 $this->resourceConnection = $this->getMockBuilder(ResourceConnection::class)
72 ->disableOriginalConstructor()
75 $this->objectManagerHelper =
76 new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
78 $this->subject = $this->objectManagerHelper->getObject(
79 \
Magento\Analytics\ReportXml\DB\Assembler\FromAssembler::class,
81 'nameResolver' => $this->nameResolverMock,
82 'columnsResolver' => $this->columnsResolverMock,
83 'resourceConnection' => $this->resourceConnection,
96 $this->nameResolverMock->expects($this->any())
98 ->with($queryConfig[
'source'])
99 ->willReturn($queryConfig[
'source'][
'alias']);
101 $this->nameResolverMock->expects($this->once())
103 ->with($queryConfig[
'source'])
104 ->willReturn($queryConfig[
'source'][
'name']);
106 $this->resourceConnection
107 ->expects($this->once())
108 ->method(
'getTableName')
109 ->with($queryConfig[
'source'][
'name'])
112 $this->selectBuilderMock->expects($this->once())
114 ->with([$queryConfig[
'source'][
'alias'] =>
$tableName]);
116 $this->columnsResolverMock->expects($this->once())
117 ->method(
'getColumns')
118 ->with($this->selectBuilderMock, $queryConfig[
'source'])
119 ->willReturn([
'entity_id' =>
'sales.entity_id']);
121 $this->selectBuilderMock->expects($this->once())
122 ->method(
'setColumns')
123 ->with([
'entity_id' =>
'sales.entity_id']);
126 $this->selectBuilderMock,
127 $this->subject->assemble($this->selectBuilderMock, $queryConfig)
137 'Tables without prefixes' => [
140 'name' =>
'sales_order',
144 'name' =>
'entity_id' 151 'Tables with prefixes' => [
154 'name' =>
'sales_order',
158 'name' =>
'entity_id'
testAssemble(array $queryConfig, $tableName)