Skip to content

Commit 02e718d

Browse files
Added whitelist json generation test covarage
1 parent 148cdd7 commit 02e718d

File tree

2 files changed

+128
-0
lines changed

2 files changed

+128
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"test_table": {
3+
"column": {
4+
"entity_id": true,
5+
"name": true,
6+
"age": true,
7+
"salary": true,
8+
"dob": true,
9+
"created_at": true,
10+
"updated_at": true
11+
},
12+
"index": {
13+
"TEST_TABLE_ENTITY_ID": true
14+
},
15+
"constraint": {
16+
"PRIMARY": true
17+
}
18+
}
19+
}
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
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.magento.idea.magento2plugin.actions.generation.data.DbSchemaXmlData;
9+
import com.magento.idea.magento2plugin.magento.files.ModuleDbSchemaWhitelistJson;
10+
import com.magento.idea.magento2plugin.magento.files.ModuleDbSchemaXml;
11+
import com.magento.idea.magento2plugin.magento.packages.database.TableColumnTypes;
12+
import java.util.LinkedHashMap;
13+
import java.util.LinkedList;
14+
import java.util.List;
15+
import java.util.Map;
16+
17+
public class DbSchemaWhitelistGeneratorTest extends BaseGeneratorTestCase {
18+
private static final String MODULE_NAME = "Foo_Bar";
19+
private static final String EXPECTED_DIRECTORY = "src/app/code/Foo/Bar/etc";
20+
private static final String TABLE_NAME = "test_table";
21+
22+
/**
23+
* Test whether db_schema_whitelist.json file generated correctly.
24+
*/
25+
public void testGenerateDbSchemaWhitelistJsonFile() {
26+
final DbSchemaXmlData dbSchemaXmlData = new DbSchemaXmlData(
27+
TABLE_NAME,
28+
"",
29+
"",
30+
"",
31+
createColumnsForTest()
32+
);
33+
final DbSchemaWhitelistJsonGenerator dbSchemaWhitelistJsonGenerator =
34+
new DbSchemaWhitelistJsonGenerator(
35+
myFixture.getProject(),
36+
dbSchemaXmlData,
37+
MODULE_NAME
38+
);
39+
40+
final String filePath = this.getFixturePath(ModuleDbSchemaWhitelistJson.FILE_NAME);
41+
42+
assertGeneratedFileIsCorrect(
43+
myFixture.configureByFile(filePath),
44+
EXPECTED_DIRECTORY,
45+
dbSchemaWhitelistJsonGenerator.generate("test")
46+
);
47+
}
48+
49+
/**
50+
* Generate columns for testcase.
51+
*
52+
* @return List
53+
*/
54+
private List<Map<String, String>> createColumnsForTest() {
55+
final List<Map<String, String>> columns = new LinkedList<>();
56+
final Map<String, String> entityIdColumnData = new LinkedHashMap<>();
57+
entityIdColumnData.put(
58+
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
59+
TableColumnTypes.INT.getColumnType()
60+
);
61+
entityIdColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "entity_id");
62+
entityIdColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_IDENTITY, "true");
63+
columns.add(entityIdColumnData);
64+
final Map<String, String> nameColumnData = new LinkedHashMap<>();
65+
nameColumnData.put(
66+
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
67+
TableColumnTypes.VARCHAR.getColumnType()
68+
);
69+
nameColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "name");
70+
columns.add(nameColumnData);
71+
final Map<String, String> ageColumnData = new LinkedHashMap<>();
72+
ageColumnData.put(
73+
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
74+
TableColumnTypes.INT.getColumnType()
75+
);
76+
ageColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "age");
77+
columns.add(ageColumnData);
78+
final Map<String, String> salaryColumnData = new LinkedHashMap<>();
79+
salaryColumnData.put(
80+
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
81+
TableColumnTypes.DECIMAL.getColumnType()
82+
);
83+
salaryColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "salary");
84+
columns.add(salaryColumnData);
85+
final Map<String, String> dobColumnData = new LinkedHashMap<>();
86+
dobColumnData.put(
87+
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
88+
TableColumnTypes.DATE.getColumnType()
89+
);
90+
dobColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "dob");
91+
columns.add(dobColumnData);
92+
final Map<String, String> createdAtColumnData = new LinkedHashMap<>();
93+
createdAtColumnData.put(
94+
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
95+
TableColumnTypes.TIMESTAMP.getColumnType()
96+
);
97+
createdAtColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "created_at");
98+
columns.add(createdAtColumnData);
99+
final Map<String, String> updatedAtColumnData = new LinkedHashMap<>();
100+
updatedAtColumnData.put(
101+
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
102+
TableColumnTypes.TIMESTAMP.getColumnType()
103+
);
104+
updatedAtColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "updated_at");
105+
columns.add(updatedAtColumnData);
106+
107+
return columns;
108+
}
109+
}

0 commit comments

Comments
 (0)