Skip to content

Commit ceb61f9

Browse files
author
Sergiy Zhovnir
committed
#issue-199 Covered the observer class generator
1 parent a6c066f commit ceb61f9

File tree

3 files changed

+67
-2
lines changed

3 files changed

+67
-2
lines changed

src/com/magento/idea/magento2plugin/actions/generation/data/ObserverFileData.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
/*
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
15
package com.magento.idea.magento2plugin.actions.generation.data;
26

37
public class ObserverFileData {
@@ -13,14 +17,14 @@ public ObserverFileData(
1317
String observerClassName,
1418
String observerModule,
1519
String targetEvent,
16-
String pluginClassFqn,
20+
String observerClassFqn,
1721
String namespace
1822
) {
1923
this.observerDirectory = observerDirectory;
2024
this.observerClassName = observerClassName;
2125
this.observerModule = observerModule;
2226
this.targetEvent = targetEvent;
23-
this.observerClassFqn = pluginClassFqn;
27+
this.observerClassFqn = observerClassFqn;
2428
this.namespace = namespace;
2529
}
2630

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
4+
namespace Foo\Bar\Observer;
5+
6+
use Magento\Framework\Event\ObserverInterface;
7+
use Magento\Framework\Event\Observer;
8+
9+
class TestObserver implements ObserverInterface
10+
{
11+
/**
12+
* Observer for test_event
13+
*
14+
* @param Observer $observer
15+
* @return void
16+
*/
17+
public function execute(Observer $observer)
18+
{
19+
$event = $observer->getEvent();
20+
// TODO: Implement observer method.
21+
}
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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.ObserverFileData;
10+
11+
public class ObserverClassGeneratorTest extends BaseGeneratorTestCase {
12+
13+
public void testGenerateObserverClass()
14+
{
15+
Project project = myFixture.getProject();
16+
ObserverFileData observerData = new ObserverFileData(
17+
"Observer",
18+
"TestObserver",
19+
"Foo_Bar",
20+
"test_event",
21+
"Foo\\Bar\\Observer\\TestObserver",
22+
"Foo\\Bar\\Observer"
23+
);
24+
ObserverClassGenerator observerClassGenerator = new ObserverClassGenerator(
25+
observerData,
26+
project
27+
);
28+
PsiFile observerClassFile = observerClassGenerator.generate("test");
29+
30+
String filePath = this.getFixturePath("TestObserver.php");
31+
PsiFile expectedFile = myFixture.configureByFile(filePath);
32+
33+
assertGeneratedFileIsCorrect(
34+
expectedFile,
35+
"src/app/code/Foo/Bar/Observer",
36+
observerClassFile
37+
);
38+
}
39+
}

0 commit comments

Comments
 (0)