Skip to content

Commit 603c6b6

Browse files
author
Vitaliy Boyko
committed
MFTF. Simplified page completion
1 parent 59ed866 commit 603c6b6

File tree

9 files changed

+31
-12
lines changed

9 files changed

+31
-12
lines changed

src/com/magento/idea/magento2plugin/actions/generation/CreateAPluginAction.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ public void update(AnActionEvent event) {
4444
Pair<PsiFile, PhpClass> pair = this.findPhpClass(event);
4545
PsiFile psiFile = pair.getFirst();
4646
PhpClass phpClass = pair.getSecond();
47+
if (phpClass == null || psiFile == null) {
48+
return;
49+
}
4750
targetClass = phpClass;
4851
if (!(psiFile instanceof PhpFile) || phpClass.isFinal() || this.targetMethod == null) {
4952
this.setStatus(event, false);

src/com/magento/idea/magento2plugin/completion/provider/mftf/PageCompletionProvider.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import com.intellij.psi.PsiElement;
1212
import com.intellij.util.ProcessingContext;
1313
import com.intellij.util.indexing.FileBasedIndex;
14-
import com.magento.idea.magento2plugin.magento.files.MftfActionGroup;
14+
import com.magento.idea.magento2plugin.magento.files.MftfPage;
1515
import com.magento.idea.magento2plugin.stubs.indexes.mftf.PageIndex;
1616
import org.jetbrains.annotations.NotNull;
1717
import java.util.Collection;
@@ -35,6 +35,8 @@ protected void addCompletions(
3535
for (String pageName: allKeys) {
3636
result.addElement(LookupElementBuilder.create(
3737
pageName
38+
+ MftfPage.REFERENCE_SEPARATOR
39+
+ MftfPage.URL_ATTRIBUTE
3840
));
3941
}
4042
}

src/com/magento/idea/magento2plugin/magento/files/MftfPage.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ public class MftfPage {
1010
public static String PAGE_TAG = "page";
1111
public static String NAME_ATTRIBUTE = "name";
1212
public static String REFERENCE_SEPARATOR = ".";
13+
public static String URL_ATTRIBUTE = "url";
1314
}

src/com/magento/idea/magento2plugin/stubs/indexes/mftf/PageIndex.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,6 @@ public DataIndexer<String, String, FileContent> getIndexer() {
7272
}
7373

7474
map.put(name, name);
75-
XmlAttribute[] attributes = pageTag.getAttributes();
76-
for (XmlAttribute attribute: attributes) {
77-
String childAttributeName = attribute.getName();
78-
map.put(name + MftfPage.REFERENCE_SEPARATOR + childAttributeName, name);
79-
}
8075
}
8176

8277
return map;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="Test">
11+
<amOnPage url="{{AttributeSet<caret>}}" stepKey="goToProductPage"/>
12+
</actionGroup>
13+
</actionGroups>

testData/project/magento2/vendor/magento/module-catalog/Test/Mftf/Page/TestPage2.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd">
11-
<page name="TestPage2" urlKey="test/catalog/category/edit">
11+
<page name="TestPage2" url="test/catalog/category/edit">
1212
<section name="TestAdminCategorySidebarActionSection"/>
1313
</page>
1414
</pages>

testData/reference/xml/MftfPageUrlReferenceRegistrar/pageUrlInActionGroupMustHaveReference/TestActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
1010
<actionGroup name="Test">
11-
<amOnPage url="{{TestPage2.urlKey<caret>}}" stepKey="goToProductPage"/>
11+
<amOnPage url="{{TestPage2.url<caret>}}" stepKey="goToProductPage"/>
1212
</actionGroup>
1313
</actionGroups>

testData/reference/xml/MftfPageUrlReferenceRegistrar/pageUrlInActionGroupPluginDisabled/TestActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
99
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
1010
<actionGroup name="Test">
11-
<amOnPage url="{{TestPage2.urlKey<caret>}}" stepKey="goToProductPage"/>
11+
<amOnPage url="{{TestPage2.url<caret>}}" stepKey="goToProductPage"/>
1212
</actionGroup>
1313
</actionGroups>

tests/com/magento/idea/magento2plugin/completion/xml/MftfPageUrlCompletionRegistrarTest.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77
public class MftfPageUrlCompletionRegistrarTest extends CompletionXmlFixtureTestCase {
88

99
private static final String[] lookupStrings = new String[] {
10-
"TestPage",
1110
"TestPage.url",
12-
"TestPage2",
13-
"TestPage2.urlKey",
11+
"TestPage2.url"
1412
};
1513

1614
public void testPageUrlInActionGroupMustProvideCompletion() {
@@ -33,6 +31,13 @@ public void testPageUrlInActionGroupMustBeEmptyForTestDocument() {
3331
assertCompletionNotShowing(filePath);
3432
}
3533

34+
public void testPageUrlInActionGroupMustBeEmptyForEntity() {
35+
String filePath = this.getFixturePath("TestActionGroup.xml");
36+
myFixture.copyFileToProject(filePath);
37+
38+
assertCompletionNotShowing(filePath);
39+
}
40+
3641
public void testPageUrlInTestMustProvideCompletion() {
3742
String filePath = this.getFixturePath("TestMftfTest.xml");
3843
myFixture.copyFileToProject(filePath);

0 commit comments

Comments
 (0)