Skip to content

Commit b6f2e44

Browse files
committed
PostgreSQL tests
1 parent a964f21 commit b6f2e44

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed

QueryDB.Core.Tests/PostgreSQLTests.cs

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.VisualStudio.TestTools.UnitTesting;
2+
using System.Linq;
23

34
namespace QueryDB.Core.Tests
45
{
@@ -27,6 +28,110 @@ public void Test_PostgreSQL_FetchData()
2728

2829
#endregion
2930

31+
#region Fetch Data Tests
32+
33+
[TestMethod]
34+
[TestCategory(DB_TESTS), TestCategory(POSTGRESQL_TESTS)]
35+
public void Test_PostgreSQL_FetchData_SelectQuery()
36+
{
37+
var selectSql = Queries.PostgreSQLQueries.SalesDB.SelectSql;
38+
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
39+
Assert.IsTrue(data.Count == 12);
40+
var agent = data.FirstOrDefault(X => X.ReferenceData["agent_name"] == "Benjamin");
41+
Assert.AreEqual("A009", agent.ReferenceData["agent_code"]);
42+
Assert.AreEqual("Benjamin", agent.ReferenceData["agent_name"]);
43+
Assert.AreEqual("Hampshair", agent.ReferenceData["working_area"]);
44+
Assert.AreEqual("0.11", agent.ReferenceData["commission"]);
45+
Assert.AreEqual("008-22536178", agent.ReferenceData["phone_no"]);
46+
Assert.AreEqual("", agent.ReferenceData["country"]);
47+
}
48+
49+
[TestMethod]
50+
[TestCategory(DB_TESTS), TestCategory(POSTGRESQL_TESTS)]
51+
public void Test_PostgreSQL_FetchData_SelectQuery_UpperCaseKeys()
52+
{
53+
var selectSql = Queries.PostgreSQLQueries.SalesDB.SelectSql;
54+
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
55+
Assert.IsTrue(data.Count == 12);
56+
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_NAME"] == "Benjamin");
57+
Assert.AreEqual("A009", agent.ReferenceData["AGENT_CODE"]);
58+
Assert.AreEqual("Benjamin", agent.ReferenceData["AGENT_NAME"]);
59+
Assert.AreEqual("Hampshair", agent.ReferenceData["WORKING_AREA"]);
60+
Assert.AreEqual("0.11", agent.ReferenceData["COMMISSION"]);
61+
Assert.AreEqual("008-22536178", agent.ReferenceData["PHONE_NO"]);
62+
Assert.AreEqual("", agent.ReferenceData["COUNTRY"]);
63+
}
64+
65+
[TestMethod]
66+
[TestCategory(DB_TESTS), TestCategory(POSTGRESQL_TESTS)]
67+
public void Test_PostgreSQL_FetchData_SelectQuery_Joins()
68+
{
69+
var selectSql = Queries.PostgreSQLQueries.SalesDB.SelectSql_Join;
70+
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
71+
Assert.IsTrue(data.Count == 34);
72+
var agent = data.FirstOrDefault(X => X.ReferenceData["agent_code"] == "A004" && X.ReferenceData["cust_code"] == "C00006");
73+
Assert.AreEqual("A004", agent.ReferenceData["agent_code"]);
74+
Assert.AreEqual("Ivan", agent.ReferenceData["agent_name"]);
75+
Assert.AreEqual("C00006", agent.ReferenceData["cust_code"]);
76+
Assert.AreEqual("Shilton", agent.ReferenceData["cust_name"]);
77+
Assert.AreEqual("200104", agent.ReferenceData["ord_num"]);
78+
Assert.AreEqual("1500.00", agent.ReferenceData["ord_amount"]);
79+
Assert.AreEqual("500.00", agent.ReferenceData["advance_amount"]);
80+
Assert.AreEqual("SOD", agent.ReferenceData["ord_description"]);
81+
}
82+
83+
[TestMethod]
84+
[TestCategory(DB_TESTS), TestCategory(POSTGRESQL_TESTS)]
85+
public void Test_PostgreSQL_FetchData_SelectQuery_Joins_UpperCaseKeys()
86+
{
87+
var selectSql = Queries.PostgreSQLQueries.SalesDB.SelectSql_Join;
88+
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
89+
Assert.IsTrue(data.Count == 34);
90+
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
91+
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
92+
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT_NAME"]);
93+
Assert.AreEqual("C00006", agent.ReferenceData["CUST_CODE"]);
94+
Assert.AreEqual("Shilton", agent.ReferenceData["CUST_NAME"]);
95+
Assert.AreEqual("200104", agent.ReferenceData["ORD_NUM"]);
96+
Assert.AreEqual("1500.00", agent.ReferenceData["ORD_AMOUNT"]);
97+
Assert.AreEqual("500.00", agent.ReferenceData["ADVANCE_AMOUNT"]);
98+
Assert.AreEqual("SOD", agent.ReferenceData["ORD_DESCRIPTION"]);
99+
}
100+
101+
[TestMethod]
102+
[TestCategory(DB_TESTS), TestCategory(POSTGRESQL_TESTS)]
103+
public void Test_PostgreSQL_FetchData_SelectQuery_Aliases()
104+
{
105+
var selectSql = Queries.PostgreSQLQueries.SalesDB.SelectSql_Alias;
106+
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql);
107+
Assert.IsTrue(data.Count == 34);
108+
var agent = data.FirstOrDefault(X => X.ReferenceData["agent_code"] == "A004" && X.ReferenceData["cust_code"] == "C00006");
109+
Assert.AreEqual("A004", agent.ReferenceData["agent_code"]);
110+
Assert.AreEqual("Ivan", agent.ReferenceData["agent"]);
111+
Assert.AreEqual("Torento", agent.ReferenceData["agent_location"]);
112+
Assert.AreEqual("C00006", agent.ReferenceData["cust_code"]);
113+
Assert.AreEqual("Shilton", agent.ReferenceData["customer"]);
114+
Assert.AreEqual("Torento", agent.ReferenceData["customer_location"]);
115+
}
116+
117+
[TestMethod]
118+
[TestCategory(DB_TESTS), TestCategory(POSTGRESQL_TESTS)]
119+
public void Test_PostgreSQL_FetchData_SelectQuery_Aliases_UpperCaseKeys()
120+
{
121+
var selectSql = Queries.PostgreSQLQueries.SalesDB.SelectSql_Alias;
122+
var data = new DBContext(DB.PostgreSQL, PostgreSQLConnectionString).FetchData(selectSql, upperCaseKeys: true);
123+
Assert.IsTrue(data.Count == 34);
124+
var agent = data.FirstOrDefault(X => X.ReferenceData["AGENT_CODE"] == "A004" && X.ReferenceData["CUST_CODE"] == "C00006");
125+
Assert.AreEqual("A004", agent.ReferenceData["AGENT_CODE"]);
126+
Assert.AreEqual("Ivan", agent.ReferenceData["AGENT"]);
127+
Assert.AreEqual("Torento", agent.ReferenceData["AGENT_LOCATION"]);
128+
Assert.AreEqual("C00006", agent.ReferenceData["CUST_CODE"]);
129+
Assert.AreEqual("Shilton", agent.ReferenceData["CUSTOMER"]);
130+
Assert.AreEqual("Torento", agent.ReferenceData["CUSTOMER_LOCATION"]);
131+
}
132+
133+
#endregion
134+
30135
#endregion
31136

32137
}

0 commit comments

Comments
 (0)