Skip to content

Commit daecae5

Browse files
committed
Removed objecttype from Private_MarktSQLtTempObject and wrote more tests. Build is broken again!
1 parent d6a82b1 commit daecae5

File tree

3 files changed

+72
-6
lines changed

3 files changed

+72
-6
lines changed

Source/tSQLt.FakeTable.ssp.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ BEGIN
4949

5050
EXEC tSQLt.Private_CreateFakeOfTable @OrigObjectCleanQuotedSchemaName, @OrigObjectCleanQuotedName, @TargetObjectFullName, @Identity, @ComputedColumns, @Defaults;
5151

52-
EXEC tSQLt.Private_MarktSQLtTempObject @OrigObjectFullName, N'TABLE', @OrigObjectNewName;
52+
EXEC tSQLt.Private_MarktSQLtTempObject @OrigObjectFullName, @OrigObjectNewName;
5353
END
5454
---Build-
5555
GO

Source/tSQLt.Private_MarktSQLtTempObject.ssp.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ GO
33
---Build+
44
CREATE PROCEDURE tSQLt.Private_MarktSQLtTempObject
55
@ObjectName NVARCHAR(MAX),
6-
@ObjectType NVARCHAR(MAX),
6+
--@ObjectType NVARCHAR(MAX),
77
--@ParentObjectName NVARCHAR(MAX) = NULL,
88
--@ParentObjectType NVARCHAR(MAX) = NULL,
99
@NewNameOfOriginalObject NVARCHAR(4000)
@@ -21,13 +21,13 @@ BEGIN
2121
@name = N'tSQLt.IsTempObject',
2222
@value = 1,
2323
@level0type = N'SCHEMA', @level0name = @UnquotedSchemaName,
24-
@level1type = @ObjectType, @level1name = @UnquotedObjectName;
24+
@level1type = N'TABLE', @level1name = @UnquotedObjectName;
2525

2626
EXEC sys.sp_addextendedproperty
2727
@name = N'tSQLt.Private_TestDouble_OrgObjectName',
2828
@value = @NewNameOfOriginalObject,
2929
@level0type = N'SCHEMA', @level0name = @UnquotedSchemaName,
30-
@level1type = @ObjectType, @level1name = @UnquotedObjectName;
30+
@level1type = N'TABLE', @level1name = @UnquotedObjectName;
3131
END;
3232
---Build-
3333
GO

Tests/FakeTableTests.class.sql

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,7 +1011,7 @@ BEGIN
10111011

10121012
END;
10131013
GO
1014-
CREATE PROC FakeTableTests.[test new FakeTable is marked as tSQLt.IsTempObject]
1014+
CREATE PROC FakeTableTests.[test new Faked Table is marked as tSQLt.IsTempObject]
10151015
AS
10161016
BEGIN
10171017
CREATE TABLE FakeTableTests.TempTable1(i INT NOT NULL);
@@ -1032,7 +1032,7 @@ BEGIN
10321032
EXEC tSQLt.AssertEqualsTable '#Expected','#Actual';
10331033
END;
10341034
GO
1035-
CREATE PROC FakeTableTests.[test new FakeTable is marked with tSQLt.Private_TestDouble_OrgObjectName]
1035+
CREATE PROC FakeTableTests.[test new Faked Table is marked with tSQLt.Private_TestDouble_OrgObjectName]
10361036
AS
10371037
BEGIN
10381038
CREATE TABLE FakeTableTests.TempTable1(i INT NOT NULL);
@@ -1054,4 +1054,70 @@ BEGIN
10541054
EXEC tSQLt.AssertEqualsTable '#Expected','#Actual';
10551055
END;
10561056
GO
1057+
CREATE PROC FakeTableTests.[test new Faked View is marked as tSQLt.IsTempObject]
1058+
AS
1059+
BEGIN
1060+
EXEC('CREATE VIEW FakeTableTests.TempView1 AS SELECT 1 X;');
1061+
1062+
EXEC tSQLt.FakeTable 'FakeTableTests.TempView1';
1063+
1064+
SELECT name, value
1065+
INTO #Actual
1066+
FROM sys.extended_properties
1067+
WHERE class_desc = 'OBJECT_OR_COLUMN'
1068+
AND major_id = OBJECT_ID('FakeTableTests.TempView1')
1069+
AND name = 'tSQLt.IsTempObject';
10571070

1071+
SELECT TOP(0) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1=0;
1072+
1073+
INSERT INTO #Expected VALUES('tSQLt.IsTempObject', 1);
1074+
1075+
EXEC tSQLt.AssertEqualsTable '#Expected','#Actual';
1076+
END;
1077+
GO
1078+
CREATE PROC FakeTableTests.[test new Faked Synonym is marked as tSQLt.IsTempObject]
1079+
AS
1080+
BEGIN
1081+
CREATE TABLE FakeTableTests.TempTable1(i INT NOT NULL);
1082+
CREATE SYNONYM FakeTableTests.TempSyn1 FOR FakeTableTests.TempTable1;
1083+
1084+
EXEC tSQLt.FakeTable 'FakeTableTests.TempSyn1';
1085+
1086+
SELECT name, value
1087+
INTO #Actual
1088+
FROM sys.extended_properties
1089+
WHERE class_desc = 'OBJECT_OR_COLUMN'
1090+
AND major_id = OBJECT_ID('FakeTableTests.TempSyn1')
1091+
AND name = 'tSQLt.IsTempObject';
1092+
1093+
SELECT TOP(0) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1=0;
1094+
1095+
INSERT INTO #Expected VALUES('tSQLt.IsTempObject', 1);
1096+
1097+
EXEC tSQLt.AssertEqualsTable '#Expected','#Actual';
1098+
END;
1099+
GO
1100+
CREATE PROC FakeTableTests.[test new Faked Synonym is marked with tSQLt.Private_TestDouble_OrgObjectName pointing to the target object]
1101+
AS
1102+
BEGIN
1103+
CREATE TABLE FakeTableTests.TempTable1(i INT NOT NULL);
1104+
CREATE SYNONYM FakeTableTests.TempSyn1 FOR FakeTableTests.TempTable1;
1105+
1106+
DECLARE @OriginalObjectId INT = OBJECT_ID('FakeTableTests.TempTable1');
1107+
1108+
EXEC tSQLt.FakeTable 'FakeTableTests.TempSyn1';
1109+
1110+
SELECT name, value
1111+
INTO #Actual
1112+
FROM sys.extended_properties
1113+
WHERE class_desc = 'OBJECT_OR_COLUMN'
1114+
AND major_id = OBJECT_ID('FakeTableTests.TempSyn1')
1115+
AND name = 'tSQLt.Private_TestDouble_OrgObjectName';
1116+
1117+
SELECT TOP(0) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1=0;
1118+
1119+
INSERT INTO #Expected VALUES('tSQLt.Private_TestDouble_OrgObjectName', OBJECT_NAME(@OriginalObjectId));
1120+
1121+
EXEC tSQLt.AssertEqualsTable '#Expected','#Actual';
1122+
END;
1123+
GO

0 commit comments

Comments
 (0)