34 $this->selectionFirst = $this->createPartialMock(
35 \
Magento\Catalog\Model\Product::class,
36 [
'__wakeup',
'isSaleable',
'getIsDefault',
'getSelectionId']
38 $this->selectionSecond = $this->createPartialMock(
39 \
Magento\Catalog\Model\Product::class,
40 [
'__wakeup',
'isSaleable',
'getIsDefault',
'getSelectionId']
42 $this->resource = $this->createPartialMock(\
Magento\Framework\Model\
ResourceModel\AbstractResource::class, [
49 'resource' => $this->resource,
58 $this->model->addSelection($this->selectionFirst);
60 $this->assertContains($this->selectionFirst, $this->model->getSelections());
65 $this->selectionFirst->expects($this->any())->method(
'isSaleable')->will($this->returnValue(
true));
66 $this->selectionSecond->expects($this->any())->method(
'isSaleable')->will($this->returnValue(
false));
68 $this->model->setSelections([$this->selectionFirst, $this->selectionSecond]);
69 $this->assertTrue($this->model->isSaleable());
74 $this->selectionFirst->expects($this->any())->method(
'isSaleable')->will($this->returnValue(
false));
75 $this->selectionSecond->expects($this->any())->method(
'isSaleable')->will($this->returnValue(
false));
77 $this->model->setSelections([$this->selectionFirst, $this->selectionSecond]);
78 $this->assertFalse($this->model->isSaleable());
83 $this->selectionFirst->expects($this->any())->method(
'getIsDefault')->will($this->returnValue(
true));
84 $this->selectionSecond->expects($this->any())->method(
'getIsDefault')->will($this->returnValue(
false));
86 $this->model->setSelections([$this->selectionFirst, $this->selectionSecond]);
87 $this->assertEquals($this->selectionFirst, $this->model->getDefaultSelection());
92 $this->selectionFirst->expects($this->any())->method(
'getIsDefault')->will($this->returnValue(
false));
93 $this->selectionSecond->expects($this->any())->method(
'getIsDefault')->will($this->returnValue(
false));
95 $this->model->setSelections([$this->selectionFirst, $this->selectionSecond]);
96 $this->assertNull($this->model->getDefaultSelection());
106 $this->model->setType(
$type);
108 $this->assertEquals($expectedValue, $this->model->isMultiSelection());
119 [
'some_type',
false],
129 $this->resource->expects($this->any())->method(
'getSearchableData')->with(
$productId,
$storeId)
130 ->will($this->returnValue(
$data));
139 $this->selectionFirst->expects($this->any())->method(
'getSelectionId')->will($this->returnValue($selectionId));
140 $this->selectionSecond->expects($this->any())->method(
'getSelectionId')->will($this->returnValue(16));
142 $this->model->setSelections([$this->selectionFirst, $this->selectionSecond]);
143 $this->assertEquals($this->selectionFirst, $this->model->getSelectionById($selectionId));
150 $this->selectionFirst->expects($this->any())->method(
'getSelectionId')->will($this->returnValue(16));
151 $this->selectionSecond->expects($this->any())->method(
'getSelectionId')->will($this->returnValue(17));
153 $this->model->setSelections([$this->selectionFirst, $this->selectionSecond]);
154 $this->assertNull($this->model->getSelectionById($selectionId));
dataProviderForIsMultiSelection()
testIsMultiSelection($type, $expectedValue)
testGetSelectionByIdNegative()
testGetDefaultSelection()
testGetDefaultSelectionNegative()