Skip to content

Commit ad47f80

Browse files
1016: Added test case and code refactoring
1 parent e872d63 commit ad47f80

File tree

5 files changed

+59
-16
lines changed

5 files changed

+59
-16
lines changed

src/com/magento/idea/magento2plugin/actions/generation/generator/ModuleReadmeMdGenerator.java

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import com.magento.idea.magento2plugin.actions.generation.data.ModuleReadmeMdData;
1212
import com.magento.idea.magento2plugin.actions.generation.generator.util.DirectoryGenerator;
1313
import com.magento.idea.magento2plugin.actions.generation.generator.util.FileFromTemplateGenerator;
14-
import com.magento.idea.magento2plugin.magento.files.ModuleReadmeMd;
14+
import com.magento.idea.magento2plugin.magento.files.ModuleReadmeMdFile;
1515
import java.util.Properties;
1616
import org.jetbrains.annotations.NotNull;
1717
import org.jetbrains.annotations.Nullable;
@@ -49,14 +49,10 @@ public ModuleReadmeMdGenerator(
4949
public PsiFile generate(final String actionName) {
5050
final PsiDirectory moduleDir = resolveModuleRoot(moduleReadmeMdData);
5151

52-
if (moduleDir == null) {
53-
return null;
54-
}
55-
5652
return fileFromTemplateGenerator.generate(
57-
ModuleReadmeMd.getInstance(),
53+
new ModuleReadmeMdFile(),
5854
getAttributes(),
59-
moduleDir,
55+
moduleDir != null ? moduleDir : moduleReadmeMdData.getBaseDir(),
6056
actionName
6157
);
6258
}

src/com/magento/idea/magento2plugin/magento/files/ModuleReadmeMd.java renamed to src/com/magento/idea/magento2plugin/magento/files/ModuleReadmeMdFile.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,10 @@
88
import com.intellij.lang.Language;
99
import com.intellij.lang.html.HTMLLanguage;
1010

11-
public class ModuleReadmeMd implements ModuleFileInterface {
11+
public class ModuleReadmeMdFile implements ModuleFileInterface {
1212

1313
public static final String FILE_NAME = "README.md";
1414
public static final String TEMPLATE = "Magento Module Readme File MD";
15-
private static final ModuleReadmeMd INSTANCE = new ModuleReadmeMd();
16-
17-
/**
18-
* Getter for singleton instance of class.
19-
*/
20-
public static ModuleReadmeMd getInstance() {
21-
return INSTANCE;
22-
}
2315

2416
@Override
2517
public String getFileName() {
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Foo_Bar module
2+
3+
<!---
4+
You can describe your module here.
5+
We recommend that you add the following information:
6+
- implementation details: why and how to use the module, preferably with some example scenarios
7+
- any dependencies (usually other modules but could be any important dependencies, libraries, etc)
8+
- extension points, APIs, plug-ins, etc
9+
- any introduced events
10+
-->

tests/com/magento/idea/magento2plugin/actions/generation/generator/BaseGeneratorTestCase.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,15 @@ protected void assertGeneratedFileIsCorrect(
5353
assertEquals(expectedFile.getName(), resultFile.getName());
5454
}
5555

56+
@SuppressWarnings({"PMD.JUnitAssertionsShouldIncludeMessage"})
57+
protected void assertGeneratedFileIsCorrect(
58+
final PsiFile expectedFile,
59+
final PsiFile resultFile
60+
) {
61+
assertEquals(expectedFile.getText(), resultFile.getText());
62+
assertEquals(expectedFile.getName(), resultFile.getName());
63+
}
64+
5665
protected PsiDirectory getProjectDirectory() {
5766
return myFixture.getPsiManager().findDirectory(
5867
GetProjectBasePath.execute(myFixture.getProject())
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
6+
package com.magento.idea.magento2plugin.actions.generation.generator;
7+
8+
import com.intellij.psi.PsiFile;
9+
import com.magento.idea.magento2plugin.actions.generation.data.ModuleReadmeMdData;
10+
import com.magento.idea.magento2plugin.magento.files.ModuleReadmeMdFile;
11+
12+
public final class ModuleReadmeMdGeneratorTest extends BaseGeneratorTestCase {
13+
14+
/**
15+
* Test module README.md file generation.
16+
*/
17+
public void testGenerateModuleReadmeMdFile() {
18+
final PsiFile expectedFile = myFixture.configureByFile(
19+
getFixturePath(ModuleReadmeMdFile.FILE_NAME)
20+
);
21+
final ModuleReadmeMdGenerator generator = new ModuleReadmeMdGenerator(
22+
new ModuleReadmeMdData(
23+
"Foo",
24+
"Bar",
25+
getProjectDirectory()
26+
),
27+
myFixture.getProject()
28+
);
29+
final PsiFile generatedFile = generator.generate("test");
30+
31+
assertGeneratedFileIsCorrect(
32+
expectedFile,
33+
generatedFile
34+
);
35+
}
36+
}

0 commit comments

Comments
 (0)