|
1 | 1 | EXEC tSQLt.NewTestClass 'Private_CleanUpCmdHandlerTests'; |
2 | 2 | GO |
3 | | -/* What is |
4 | | -*/ |
5 | | -CREATE PROCEDURE Private_CleanUpCmdHandlerTests.[test TODO] |
| 3 | +GO |
| 4 | +/*-----------------------------------------------------------------------------------------------*/ |
| 5 | +GO |
| 6 | +CREATE FUNCTION Private_CleanUpCmdHandlerTests.[return 42134213 if correct error]() |
| 7 | +RETURNS TABLE |
| 8 | +AS |
| 9 | +RETURN |
| 10 | + SELECT '9999' + ERROR_MESSAGE() FormattedError; |
| 11 | +GO |
| 12 | +GO |
| 13 | +/*-----------------------------------------------------------------------------------------------*/ |
| 14 | +GO |
| 15 | +CREATE FUNCTION Private_CleanUpCmdHandlerTests.[return 42424242+@NewMessage, @NewResult]( |
| 16 | + @PrevMessage NVARCHAR(MAX), |
| 17 | + @PrevResult NVARCHAR(MAX), |
| 18 | + @NewMessage NVARCHAR(MAX), |
| 19 | + @NewResult NVARCHAR(MAX) |
| 20 | +) |
| 21 | +RETURNS TABLE |
| 22 | +AS |
| 23 | +RETURN |
| 24 | + SELECT @PrevResult+':7777:'+@NewMessage Message, @NewResult Result |
| 25 | +GO |
| 26 | +/*-----------------------------------------------------------------------------------------------*/ |
| 27 | +GO |
| 28 | +CREATE PROCEDURE Private_CleanUpCmdHandlerTests.[test is using the two error functions correctly] |
6 | 29 | AS |
7 | 30 | BEGIN |
8 | | - EXEC tSQLt.Fail 'TODO'; |
| 31 | + EXEC tSQLt.FakeFunction @FunctionName = 'tSQLt.Private_GetFormattedErrorInfo', @FakeFunctionName = 'Private_CleanUpCmdHandlerTests.[return 42134213 if correct error]'; |
| 32 | + EXEC tSQLt.FakeFunction @FunctionName = 'tSQLt.Private_HandleMessageAndResult', @FakeFunctionName = 'Private_CleanUpCmdHandlerTests.[return 42424242+@NewMessage, @NewResult]'; |
| 33 | + |
| 34 | + DECLARE @TestResult NVARCHAR(MAX) = 'PrevResult'; |
| 35 | + DECLARE @TestMessage NVARCHAR(MAX) = 'PrevMessage'; |
| 36 | + EXEC tSQLt.Private_CleanUpCmdHandler @CleanUpCmd = 'RAISERROR(''ACleanUpError'',16,10);', @TestResult=@TestResult OUT, @TestMsg = @TestMessage OUT, @ResultInCaseOfError = 'NewResult'; |
| 37 | + |
| 38 | + SELECT @TestMessage Message, @TestResult Result INTO #Actual; |
| 39 | + SELECT TOP(0) A.* INTO #Expected FROM #Actual A RIGHT JOIN #Actual X ON 1=0; |
| 40 | + INSERT INTO #Expected VALUES('PrevResult:7777:Error during clean up: (9999ACleanUpError)','NewResult'); |
| 41 | + |
| 42 | + EXEC tSQLt.AssertEqualsTable '#Expected','#Actual'; |
9 | 43 | END; |
10 | 44 | GO |
0 commit comments