Skip to content

Commit f61ad8d

Browse files
author
Vitaliy Boyko
committed
Merge branches '1.0.1-develop' and 'require-js-test-coverage' of https://github.com/magento/magento2-phpstorm-plugin into require-js-test-coverage
2 parents 3f21273 + a6c066f commit f61ad8d

File tree

7 files changed

+181
-0
lines changed

7 files changed

+181
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
4+
namespace Foo\Bar\Model;
5+
6+
use Magento\Framework\GraphQl\Config\Element\Field;
7+
use Magento\Framework\GraphQl\Query\Resolver\BatchResolverInterface;
8+
use Magento\Framework\GraphQl\Query\Resolver\BatchResponse;
9+
use Magento\Framework\GraphQl\Query\Resolver\ContextInterface;
10+
11+
class TestResolver implements BatchResolverInterface
12+
{
13+
/**
14+
* Resolve multiple requests.
15+
*
16+
* @param ContextInterface $context
17+
* @param Field $field
18+
* @param array $requests
19+
* @return BatchResponse
20+
*/
21+
public function resolve(ContextInterface $context, Field $field, array $requests): BatchResponse
22+
{
23+
// TODO: Implement resolve() method.
24+
}
25+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?php
2+
3+
use Magento\Framework\Component\ComponentRegistrar;
4+
5+
ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Foo_Bar', __DIR__);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<?php
2+
3+
use Magento\Framework\Component\ComponentRegistrar;
4+
5+
ComponentRegistrar::register(ComponentRegistrar::MODULE, 'Foo_Bar', __DIR__);
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,38 @@
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.GraphQlResolverFileData;
10+
11+
public class ModuleGraphQlResolverClassGeneratorTest extends BaseGeneratorTestCase {
12+
13+
public void testGenerateModuleGraphQlResolverClassFile()
14+
{
15+
Project project = myFixture.getProject();
16+
GraphQlResolverFileData graphQlResolverFileData = new GraphQlResolverFileData(
17+
"Model",
18+
"TestResolver",
19+
"Foo_Bar",
20+
"Foo\\Bar\\Model\\TestResolver",
21+
"Foo\\Bar\\Model"
22+
);
23+
ModuleGraphQlResolverClassGenerator graphQlResolverClassGenerator = new ModuleGraphQlResolverClassGenerator(
24+
graphQlResolverFileData,
25+
project
26+
);
27+
PsiFile graphQlResolverFile = graphQlResolverClassGenerator.generate("test");
28+
29+
String filePath = this.getFixturePath("TestResolver.php");
30+
PsiFile expectedFile = myFixture.configureByFile(filePath);
31+
32+
assertGeneratedFileIsCorrect(
33+
expectedFile,
34+
"src/app/code/Foo/Bar/Model",
35+
graphQlResolverFile
36+
);
37+
}
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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.PsiDirectory;
9+
import com.intellij.psi.PsiFile;
10+
import com.magento.idea.magento2plugin.actions.generation.data.ModuleRegistrationPhpData;
11+
import com.magento.idea.magento2plugin.magento.files.RegistrationPhp;
12+
13+
public class ModuleRegistrationPhpGeneratorTest extends BaseGeneratorTestCase {
14+
15+
public void testGenerateRegistrationPhpFile() {
16+
String filePath = this.getFixturePath(RegistrationPhp.FILE_NAME);
17+
PsiFile expectedFile = myFixture.configureByFile(filePath);
18+
Project project = myFixture.getProject();
19+
PsiDirectory projectDir = getProjectDirectory();
20+
ModuleRegistrationPhpData moduleRegistrationPhpData = new ModuleRegistrationPhpData(
21+
"Foo",
22+
"Bar",
23+
projectDir,
24+
true
25+
);
26+
ModuleRegistrationPhpGenerator moduleRegistrationPhpGenerator = new ModuleRegistrationPhpGenerator(
27+
moduleRegistrationPhpData,
28+
project
29+
);
30+
PsiFile registrationPhp = moduleRegistrationPhpGenerator.generate("test");
31+
assertGeneratedFileIsCorrect(
32+
expectedFile,
33+
projectDir.getVirtualFile().getPath() + "/Foo/Bar",
34+
registrationPhp
35+
);
36+
}
37+
38+
public void testGenerateRegistrationPhpFileInRoot()
39+
{
40+
String filePath = this.getFixturePath(RegistrationPhp.FILE_NAME);
41+
PsiFile expectedFile = myFixture.configureByFile(filePath);
42+
Project project = myFixture.getProject();
43+
PsiDirectory projectDir = getProjectDirectory();
44+
ModuleRegistrationPhpData moduleRegistrationPhpData = new ModuleRegistrationPhpData(
45+
"Foo",
46+
"Bar",
47+
projectDir,
48+
false
49+
);
50+
ModuleRegistrationPhpGenerator moduleRegistrationPhpGenerator = new ModuleRegistrationPhpGenerator(
51+
moduleRegistrationPhpData,
52+
project
53+
);
54+
PsiFile registrationPhp = moduleRegistrationPhpGenerator.generate("test");
55+
assertGeneratedFileIsCorrect(
56+
expectedFile,
57+
projectDir.getVirtualFile().getPath(),
58+
registrationPhp
59+
);
60+
}
61+
}
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)