Files
utilcore e90f41f80c 1. 新增按钮样式单选框 TagHelper 标签 <util-radio-button>.
2. 对文字提示, 气泡卡片 ,气泡确认框相关扩展方法进行重构.
  3. 重构输入框自动完成组件, 调整表达式绑定相关设置.
  4. 补齐 <util-list> 相关标签的属性.
  5. 修复在未设置 ngModel, 或已设置 formControlName 时, 输入框 `允许清除` 全局配置导致的问题.
2024-05-15 12:19:14 +08:00

84 lines
3.4 KiB
C#

using Util.Data;
using Util.Generators.Configuration;
using Util.Generators.Contexts;
using Util.Generators.Tests.Samples;
using Xunit;
namespace Util.Generators.Tests.Contexts {
/// <summary>
/// 项目上下文测试
/// </summary>
public class ProjectContextTest {
/// <summary>
/// 测试复制
/// </summary>
[Fact]
public void TestClone() {
//创建项目上下文
var generatorContext = new GeneratorContext {
TemplateRootPath = "Templates",
OutputRootPath = "Output"
};
var projectContext = new ProjectContext( generatorContext ) {
Name = "Project",
UnitOfWorkName = "UnitOfWork",
DbType = DatabaseType.MySql,
TargetDbType = DatabaseType.PgSql,
ConnectionString = "ConnectionString",
Client = {
AppName = "ClientApp",
Port = "Port"
},
Enabled = true,
Utc = true,
I18n = true,
EnableSchema = true,
ProjectType = ProjectType.Ui,
ApiPort = "80",
UiPort = "90",
Extend = "{\"Id\":\"1\",\"Name\":\"Name\"}"
};
//添加架构列表
projectContext.Schemas.Add( "a" );
projectContext.Schemas.Add( "b" );
//添加实体上下文1
var entityContext1 = new EntityContext( projectContext, "a" );
projectContext.Entities.Add( entityContext1 );
//添加实体上下文2
var entityContext2 = new EntityContext( projectContext, "b" );
projectContext.Entities.Add( entityContext2 );
//复制副本
var clone = projectContext.Clone( generatorContext );
//验证项目上下文
Assert.NotSame( projectContext, clone );
Assert.Equal( projectContext.Name, clone.Name );
Assert.Equal( projectContext.UnitOfWorkName, clone.UnitOfWorkName );
Assert.Equal( projectContext.DbType, clone.DbType );
Assert.Equal( projectContext.TargetDbType, clone.TargetDbType );
Assert.Equal( projectContext.ConnectionString, clone.ConnectionString );
Assert.Equal( projectContext.Client.AppName, clone.Client.AppName );
Assert.Equal( projectContext.Client.Port, clone.Client.Port );
Assert.Equal( projectContext.Enabled, clone.Enabled );
Assert.Equal( projectContext.Utc, clone.Utc );
Assert.Equal( projectContext.I18n, clone.I18n );
Assert.Equal( projectContext.ProjectType, clone.ProjectType );
Assert.Equal( projectContext.ApiPort, clone.ApiPort );
Assert.Equal( projectContext.UiPort, clone.UiPort );
Assert.Equal( projectContext.EnableSchema, clone.EnableSchema );
Assert.Equal( projectContext.GetExtend<TestExtend>().Id, clone.GetExtend<TestExtend>().Id );
Assert.Equal( projectContext.GetExtend<TestExtend>().Name, clone.GetExtend<TestExtend>().Name );
//验证架构列表
Assert.Equal( 2, clone.Schemas.Count );
//验证实体上下文
Assert.Equal( 2, clone.Entities.Count );
}
}
}