loadArea('frontend'); $this->block = Bootstrap::getObjectManager()->create(ContactForm::class); } /** * @param $setViewModel * @param $expectedViewModelType * * @dataProvider dataProvider */ public function testViewModel($setViewModel, $expectedViewModelType) { if ($setViewModel) { $someViewModel = $this->getMockForAbstractClass( ArgumentInterface::class, [], self::SOME_VIEW_MODEL ); $this->block->setData('view_model', $someViewModel); } $this->block->toHtml(); $this->assertInstanceOf($expectedViewModelType, $this->block->getData('view_model')); } public function dataProvider(): array { return [ 'view model was not preset before' => [ 'set view model' => false, 'expected view model type' => UserDataProvider::class ], 'view model was pre-installed before' => [ 'set view model' => true, 'expected view model type' => self::SOME_VIEW_MODEL ] ]; } }