Skip to content

Commit af6581b

Browse files
committed
Added tests for SpyProcedureTests.class.sql and FakeFunctionTests.class.sql, and in the process broke the build.
1 parent 6bae618 commit af6581b

File tree

4 files changed

+50
-1
lines changed

4 files changed

+50
-1
lines changed

Tests/FakeFunctionTests.class.sql

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,29 @@ BEGIN
661661
EXEC tSQLt.AssertEqualsTable 'FakeFunctionTests.Expected', @NewTable;
662662
END;
663663
GO
664+
CREATE PROC FakeFunctionTests.[test FakeFunction calls tSQLt.Private_MarktSQLtTempObject on new object]
665+
AS
666+
BEGIN
667+
EXEC('CREATE FUNCTION FakeFunctionTests.AFunction() RETURNS TABLE AS RETURN (SELECT 777 AS a);');
668+
DECLARE @OriginalObjectId INT = OBJECT_ID('FakeFunctionTests.AFunction');
669+
EXEC tSQLt.SpyProcedure @ProcedureName = 'tSQLt.Private_MarktSQLtTempObject';
670+
TRUNCATE TABLE tSQLt.Private_MarktSQLtTempObject_SpyProcedureLog;--Quirkiness of testing the framework that you use to run the test
671+
672+
EXEC tSQLt.FakeFunction @FunctionName = 'FakeFunctionTests.AFunction', @FakeDataSource = '(VALUES(1)) a(a)';
673+
674+
SELECT ObjectName, ObjectType, NewNameOfOriginalObject
675+
INTO #Actual
676+
FROM tSQLt.Private_MarktSQLtTempObject_SpyProcedureLog;
677+
678+
SELECT TOP(0) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1=0;
679+
INSERT INTO #Expected
680+
VALUES('[FakeFunctionTests].[AFunction]', N'FUNCTION', OBJECT_NAME(@OriginalObjectId));
681+
682+
EXEC tSQLt.AssertEqualsTable '#Expected','#Actual';
683+
684+
END;
685+
GO
686+
664687
-- THIS CODE CREATES THE SNAPSHOT.
665688
-- When we revisit creating something like FakeFunctionWithSnapshot, we should refer back.
666689
-- DECLARE @newTbleName NVARCHAR(MAX);

Tests/FakeTableTests.class.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,7 @@ BEGIN
10181018
EXEC tSQLt.SpyProcedure @ProcedureName = 'tSQLt.Private_MarktSQLtTempObject';
10191019
TRUNCATE TABLE tSQLt.Private_MarktSQLtTempObject_SpyProcedureLog;--Quirkiness of testing the framework that you use to run the test
10201020

1021-
EXEC tSQLt.FakeTable '[FakeTableTests]','[TempTable1]';
1021+
EXEC tSQLt.FakeTable '[FakeTableTests].[TempTable1]';
10221022

10231023
SELECT ObjectName, ObjectType, NewNameOfOriginalObject
10241024
INTO #Actual

Tests/SpyProcedureTests.class.sql

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,5 +755,25 @@ BEGIN
755755
EXEC tSQLt.AssertEqualsTable '#Expected','#Actual';
756756
END;
757757
GO
758+
CREATE PROC SpyProcedureTests.[test SpyProcedure calls tSQLt.Private_MarktSQLtTempObject on new object]
759+
AS
760+
BEGIN
761+
DECLARE @OriginalObjectId INT = OBJECT_ID('tSQLt.Private_MarktSQLtTempObject');
762+
763+
EXEC tSQLt.SpyProcedure @ProcedureName = 'tSQLt.Private_MarktSQLtTempObject';
764+
--We are testing that SpyProcedure calls this ^^ after spying this ^^, so this line serves as prep and action.
765+
766+
SELECT ObjectName, ObjectType, NewNameOfOriginalObject
767+
INTO #Actual
768+
FROM tSQLt.Private_MarktSQLtTempObject_SpyProcedureLog;
769+
770+
SELECT TOP(0) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1=0;
771+
INSERT INTO #Expected
772+
VALUES('tSQLt.Private_MarktSQLtTempObject', N'PROCEDURE', OBJECT_NAME(@OriginalObjectId));
773+
774+
EXEC tSQLt.AssertEqualsTable '#Expected','#Actual';
775+
776+
END;
777+
GO
758778

759779

Tests/Tests.ssmssqlproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,12 @@
216216
<AssociatedConnUserName />
217217
<FullPath>Private_InstallationInfoTests.class.sql</FullPath>
218218
</FileNode>
219+
<FileNode Name="Private_MarktSQLtTempObjectTests.class.sql">
220+
<AssociatedConnectionMoniker />
221+
<AssociatedConnSrvName />
222+
<AssociatedConnUserName />
223+
<FullPath>Private_MarktSQLtTempObjectTests.class.sql</FullPath>
224+
</FileNode>
219225
<FileNode Name="Private_NullCellTableTests.class.sql">
220226
<AssociatedConnectionMoniker />
221227
<AssociatedConnSrvName />

0 commit comments

Comments
 (0)