From 81b106a1bfc225abcee1c9b5cfad64489e8cb24b Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 10 Dec 2022 15:07:12 +0800 Subject: Develop secret api. v23 --- .../CrupestApi.Commons.Tests/Crud/TableInfoTest.cs | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'docker/crupest-api/CrupestApi/CrupestApi.Commons.Tests/Crud/TableInfoTest.cs') 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(parameterName)); + } +} -- cgit v1.2.3