@@ -1050,4 +1050,104 @@ BEGIN
10501050
10511051END ;
10521052GO
1053+ CREATE PROC ApplyConstraintTests.[test ApplyConstraint calls tSQLt.Private_MarktSQLtTempObject on new check constraints]
1054+ AS
1055+ BEGIN
1056+ CREATE TABLE ApplyConstraintTests .aSimpleTable ( Id INT CONSTRAINT aSimpleTableConstraint CHECK (Id > 0 ));
1057+ DECLARE @OriginalObjectId INT = OBJECT_ID (' ApplyConstraintTests.aSimpleTableConstraint' );
1058+
1059+ EXEC tSQLt .FakeTable @TableName = ' ApplyConstraintTests.aSimpleTable' ;
1060+
1061+ EXEC tSQLt .SpyProcedure @ProcedureName = ' tSQLt.Private_MarktSQLtTempObject' ;
1062+ TRUNCATE TABLE tSQLt .Private_MarktSQLtTempObject_SpyProcedureLog ;-- Quirkiness of testing the framework that you use to run the test
1063+
1064+ EXEC tSQLt .ApplyConstraint @TableName = ' ApplyConstraintTests.aSimpleTable' , @ConstraintName = ' aSimpleTableConstraint' ;
1065+
1066+ SELECT ObjectName, ObjectType, NewNameOfOriginalObject
1067+ INTO #Actual
1068+ FROM tSQLt .Private_MarktSQLtTempObject_SpyProcedureLog ;
1069+
1070+ SELECT TOP (0 ) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1 = 0 ;
1071+ INSERT INTO #Expected
1072+ VALUES (' [ApplyConstraintTests].[aSimpleTableConstraint]' , N ' CONSTRAINT' , OBJECT_NAME (@OriginalObjectId));
1073+
1074+ EXEC tSQLt .AssertEqualsTable ' #Expected' ,' #Actual' ;
1075+
1076+ END ;
1077+ GO
1078+ CREATE PROC ApplyConstraintTests.[test ApplyConstraint calls tSQLt.Private_MarktSQLtTempObject on new primary key]
1079+ AS
1080+ BEGIN
1081+ CREATE TABLE ApplyConstraintTests .aSimpleTable ( Id INT CONSTRAINT aSimpleTableConstraint PRIMARY KEY );
1082+ DECLARE @OriginalObjectId INT = OBJECT_ID (' ApplyConstraintTests.aSimpleTableConstraint' );
1083+
1084+ EXEC tSQLt .FakeTable @TableName = ' ApplyConstraintTests.aSimpleTable' ;
1085+
1086+ EXEC tSQLt .SpyProcedure @ProcedureName = ' tSQLt.Private_MarktSQLtTempObject' ;
1087+ TRUNCATE TABLE tSQLt .Private_MarktSQLtTempObject_SpyProcedureLog ;-- Quirkiness of testing the framework that you use to run the test
1088+
1089+ EXEC tSQLt .ApplyConstraint @TableName = ' ApplyConstraintTests.aSimpleTable' , @ConstraintName = ' aSimpleTableConstraint' ;
10531090
1091+ SELECT ObjectName, ObjectType, NewNameOfOriginalObject
1092+ INTO #Actual
1093+ FROM tSQLt .Private_MarktSQLtTempObject_SpyProcedureLog ;
1094+
1095+ SELECT TOP (0 ) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1 = 0 ;
1096+ INSERT INTO #Expected
1097+ VALUES (' [ApplyConstraintTests].[aSimpleTableConstraint]' , N ' CONSTRAINT' , OBJECT_NAME (@OriginalObjectId));
1098+
1099+ EXEC tSQLt .AssertEqualsTable ' #Expected' ,' #Actual' ;
1100+
1101+ END ;
1102+ GO
1103+ CREATE PROC ApplyConstraintTests.[test ApplyConstraint calls tSQLt.Private_MarktSQLtTempObject on new unique key]
1104+ AS
1105+ BEGIN
1106+ CREATE TABLE ApplyConstraintTests .aSimpleTable ( Id INT CONSTRAINT aSimpleTableConstraint UNIQUE );
1107+ DECLARE @OriginalObjectId INT = OBJECT_ID (' ApplyConstraintTests.aSimpleTableConstraint' );
1108+
1109+ EXEC tSQLt .FakeTable @TableName = ' ApplyConstraintTests.aSimpleTable' ;
1110+
1111+ EXEC tSQLt .SpyProcedure @ProcedureName = ' tSQLt.Private_MarktSQLtTempObject' ;
1112+ TRUNCATE TABLE tSQLt .Private_MarktSQLtTempObject_SpyProcedureLog ;-- Quirkiness of testing the framework that you use to run the test
1113+
1114+ EXEC tSQLt .ApplyConstraint @TableName = ' ApplyConstraintTests.aSimpleTable' , @ConstraintName = ' aSimpleTableConstraint' ;
1115+
1116+ SELECT ObjectName, ObjectType, NewNameOfOriginalObject
1117+ INTO #Actual
1118+ FROM tSQLt .Private_MarktSQLtTempObject_SpyProcedureLog ;
1119+
1120+ SELECT TOP (0 ) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1 = 0 ;
1121+ INSERT INTO #Expected
1122+ VALUES (' [ApplyConstraintTests].[aSimpleTableConstraint]' , N ' CONSTRAINT' , OBJECT_NAME (@OriginalObjectId));
1123+
1124+ EXEC tSQLt .AssertEqualsTable ' #Expected' ,' #Actual' ;
1125+
1126+ END ;
1127+ GO
1128+ CREATE PROC ApplyConstraintTests.[test ApplyConstraint calls tSQLt.Private_MarktSQLtTempObject on new foreign key]
1129+ AS
1130+ BEGIN
1131+ CREATE TABLE ApplyConstraintTests .aForeignTable ( Id INT PRIMARY KEY );
1132+ CREATE TABLE ApplyConstraintTests .aSimpleTable ( Id INT , fId INT CONSTRAINT aSimpleTableConstraint FOREIGN KEY REFERENCES ApplyConstraintTests .aForeignTable (Id) );
1133+ DECLARE @OriginalObjectId INT = OBJECT_ID (' ApplyConstraintTests.aSimpleTableConstraint' );
1134+
1135+ EXEC tSQLt .FakeTable @TableName = ' ApplyConstraintTests.aSimpleTable' ;
1136+
1137+ EXEC tSQLt .SpyProcedure @ProcedureName = ' tSQLt.Private_MarktSQLtTempObject' ;
1138+ TRUNCATE TABLE tSQLt .Private_MarktSQLtTempObject_SpyProcedureLog ;-- Quirkiness of testing the framework that you use to run the test
1139+
1140+ EXEC tSQLt .ApplyConstraint @TableName = ' ApplyConstraintTests.aSimpleTable' , @ConstraintName = ' aSimpleTableConstraint' ;
1141+
1142+ SELECT ObjectName, ObjectType, NewNameOfOriginalObject
1143+ INTO #Actual
1144+ FROM tSQLt .Private_MarktSQLtTempObject_SpyProcedureLog ;
1145+
1146+ SELECT TOP (0 ) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1 = 0 ;
1147+ INSERT INTO #Expected
1148+ VALUES (' [ApplyConstraintTests].[aSimpleTableConstraint]' , N ' CONSTRAINT' , OBJECT_NAME (@OriginalObjectId));
1149+
1150+ EXEC tSQLt .AssertEqualsTable ' #Expected' ,' #Actual' ;
1151+
1152+ END ;
1153+ GO
0 commit comments