Skip to content

Commit 59a9190

Browse files
author
Vitaliy
authored
Merge pull request #230 from serhiyzhovnir/issue-198-cover-module-ViewModel-class-generator
#issue-198 Covered module View Model class generator with test
2 parents 2be433d + 290d8f8 commit 59a9190

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
namespace Foo\Bar\ViewModel;
4+
5+
use Magento\Framework\View\Element\Block\ArgumentInterface;
6+
7+
class TestViewModel implements ArgumentInterface
8+
{
9+
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
package com.magento.idea.magento2plugin.actions.generation.generator;
6+
7+
import com.intellij.openapi.project.Project;
8+
import com.intellij.psi.PsiFile;
9+
import com.magento.idea.magento2plugin.actions.generation.data.ViewModelFileData;
10+
11+
public class ModuleViewModelClassGeneratorTest extends BaseGeneratorTestCase {
12+
13+
public void testGenerateViewModelFile() {
14+
Project project = myFixture.getProject();
15+
16+
ViewModelFileData viewModelData = new ViewModelFileData(
17+
"ViewModel",
18+
"TestViewModel",
19+
"Foo_Bar",
20+
"Foo\\Bar\\ViewModel"
21+
);
22+
ModuleViewModelClassGenerator moduleViewModelClassGenerator = new ModuleViewModelClassGenerator(
23+
viewModelData,
24+
project
25+
);
26+
PsiFile viewModelFile = moduleViewModelClassGenerator.generate("test");
27+
28+
String filePath = this.getFixturePath("TestViewModel.php");
29+
PsiFile expectedFile = myFixture.configureByFile(filePath);
30+
31+
assertGeneratedFileIsCorrect(
32+
expectedFile,
33+
"src/app/code/Foo/Bar/ViewModel",
34+
viewModelFile
35+
);
36+
}
37+
}

0 commit comments

Comments
 (0)