aboutsummaryrefslogtreecommitdiff
path: root/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-12-10 15:07:12 +0800
committercrupest <crupest@outlook.com>2022-12-20 20:32:53 +0800
commit8c478bb1a07a55b9056ada029e0d6f9fe34d8d38 (patch)
treee739a8e449a1fd021a3118d9ccfb277d3f02b062 /docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs
parentddce7fb5891d97eb66960687fe1fea4cb0bd7c94 (diff)
downloadcrupest-8c478bb1a07a55b9056ada029e0d6f9fe34d8d38.tar.gz
crupest-8c478bb1a07a55b9056ada029e0d6f9fe34d8d38.tar.bz2
crupest-8c478bb1a07a55b9056ada029e0d6f9fe34d8d38.zip
Develop secret api. v23
Diffstat (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs')
-rw-r--r--docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs33
1 files changed, 33 insertions, 0 deletions
diff --git a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs
index d82c70f..c6791c6 100644
--- a/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs
+++ b/docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs
@@ -1 +1,34 @@
+using Xunit.Abstractions;
+
namespace CrupestApi.Commons.Crud.Tests;
+
+public class TableInfoTest
+{
+ private static TableInfoFactory TableInfoFactory = new TableInfoFactory(new ColumnTypeProvider());
+
+ private TableInfo _tableInfo;
+
+ public TableInfoTest()
+ {
+ _tableInfo = TableInfoFactory.Get(typeof(TestEntity));
+ }
+
+ [Fact]
+ public void TestColumnCount()
+ {
+ Assert.Equal(4, _tableInfo.ColumnInfos.Count);
+ Assert.Equal(3, _tableInfo.ColumnProperties.Count);
+ Assert.Equal(1, _tableInfo.NonColumnProperties.Count);
+ }
+
+ [Fact]
+ public void GenerateSelectSqlTest()
+ {
+ var (sql, parameters) = _tableInfo.GenerateSelectSql(WhereClause.Create().Eq("Name", "Hello"));
+ var parameterName = parameters.ParameterNames.First();
+
+ // TODO: Is there a way to auto detect parameters?
+ SqlCompareHelper.SqlEqual($"SELECT * FROM TestEntity WHERE (Name = @{parameterName})", sql);
+ Assert.Equal("Hello", parameters.Get<string>(parameterName));
+ }
+}