Skip to content

Commit 8e861d2

Browse files
committed
Added tests for ssps and views!
1 parent 2962bfd commit 8e861d2

2 files changed

Lines changed: 47 additions & 5 deletions

File tree

Source/tSQLt.UndoTestDoubles.ssp.sql

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ BEGIN
1111

1212
BEGIN TRAN;
1313
DELETE FROM tSQLt.Private_RenamedObjectLog OUTPUT Deleted.* INTO #RenamedObjects;
14-
WITH L AS
14+
WITH LL AS
1515
(
1616
SELECT
1717
ROL.Id,
@@ -20,13 +20,27 @@ BEGIN
2020
ROL.ObjectId,
2121
OBJECT_SCHEMA_NAME(ROL.ObjectId) SchemaName,
2222
OBJECT_NAME(ROL.ObjectId) CurrentName,
23-
PARSENAME(ROL.OriginalName,1) OriginalName,
24-
O.type ObjectType
23+
PARSENAME(ROL.OriginalName,1) OriginalName
2524
FROM #RenamedObjects ROL
2625
JOIN sys.objects O
2726
ON ROL.ObjectId = O.object_id
2827
LEFT JOIN #RenamedObjects ParentROL
2928
ON O.parent_object_id = ParentROL.ObjectId
29+
),
30+
L AS
31+
(
32+
SELECT
33+
LL.Id,
34+
LL.ParentId,
35+
LL.SortId,
36+
LL.ObjectId,
37+
LL.SchemaName,
38+
LL.CurrentName,
39+
LL.OriginalName,
40+
FakeO.type ObjectType
41+
FROM LL
42+
JOIN sys.objects FakeO
43+
ON FakeO.object_id = OBJECT_ID(QUOTENAME(LL.SchemaName)+'.'+QUOTENAME(LL.OriginalName))
3044
)
3145
SELECT @cmd =
3246
(

Tests/UndoTestDoublesTests.class.sql

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,12 +215,40 @@ BEGIN
215215
EXEC tSQLt.AssertEmptyTable @TableName = 'tSQLt.Private_RenamedObjectLog';
216216
END;
217217
GO
218+
CREATE PROCEDURE UndoTestDoublesTests.[test restores a faked stored procedure]
219+
AS
220+
BEGIN
221+
EXEC ('CREATE PROCEDURE UndoTestDoublesTests.aSimpleSSP @Id INT AS RETURN;');
222+
DECLARE @OriginalObjectId INT = OBJECT_ID('UndoTestDoublesTests.aSimpleSSP');
223+
EXEC tSQLt.SpyProcedure @ProcedureName = 'UndoTestDoublesTests.aSimpleSSP';
224+
225+
EXEC tSQLt.UndoTestDoubles;
226+
227+
DECLARE @RestoredObjectId INT = OBJECT_ID('UndoTestDoublesTests.aSimpleSSP');
228+
EXEC tSQLt.AssertEquals @Expected = @OriginalObjectId, @Actual = @RestoredObjectId;
229+
230+
END;
231+
GO
232+
CREATE PROCEDURE UndoTestDoublesTests.[test restores a faked view]
233+
AS
234+
BEGIN
235+
EXEC ('CREATE VIEW UndoTestDoublesTests.aSimpleView AS SELECT NULL X;');
236+
DECLARE @OriginalObjectId INT = OBJECT_ID('UndoTestDoublesTests.aSimpleView');
237+
EXEC tSQLt.FakeTable @TableName = 'UndoTestDoublesTests.aSimpleView';
238+
239+
EXEC tSQLt.UndoTestDoubles;
240+
241+
DECLARE @RestoredObjectId INT = OBJECT_ID('UndoTestDoublesTests.aSimpleView');
242+
EXEC tSQLt.AssertEquals @Expected = @OriginalObjectId, @Actual = @RestoredObjectId;
243+
244+
END;
245+
GO
218246

219247
/*--
220248
TODO
221-
- stored procedures
222-
- views
223249
- functions
224250
- rename object to unique name
251+
-- no replacement
252+
-- random replacement
225253
226254
--*/

0 commit comments

Comments
 (0)