diff --git a/Demo/dbo.GetDiscount.sql b/Demo/dbo.GetDiscount.sql index 3a7a7c2..eafb77c 100644 --- a/Demo/dbo.GetDiscount.sql +++ b/Demo/dbo.GetDiscount.sql @@ -6,4 +6,4 @@ CREATE FUNCTION dbo.GetDiscount(@amount DECIMAL(13,2)) RETURNS TABLE AS RETURN - SELECT 0 Discount; + SELECT CASE WHEN @amount>=50 THEN @amount*.1 ELSE 0 END Discount; diff --git a/Tests/GetDiscountTests.sql b/Tests/GetDiscountTests.sql index bdb7f43..0cfe5ca 100644 --- a/Tests/GetDiscountTests.sql +++ b/Tests/GetDiscountTests.sql @@ -20,3 +20,21 @@ BEGIN EXEC tSQLt.AssertEqualsTable '#expected','#actual'; END; GO +CREATE PROCEDURE GetDiscountTests.[test 10% discount if amount greater 50] +AS +BEGIN + SELECT Discount INTO #actual FROM dbo.GetDiscount(51.00); + SELECT TOP(0) A.* INTO #expected FROM #actual X LEFT JOIN #actual A ON 1=0; + INSERT INTO #expected VALUES(5.1); + EXEC tSQLt.AssertEqualsTable '#expected','#actual'; +END; +GO +CREATE PROCEDURE GetDiscountTests.[test 10% discount if amount equal 50] +AS +BEGIN + SELECT Discount INTO #actual FROM dbo.GetDiscount(50.00); + SELECT TOP(0) A.* INTO #expected FROM #actual X LEFT JOIN #actual A ON 1=0; + INSERT INTO #expected VALUES(5.0); + EXEC tSQLt.AssertEqualsTable '#expected','#actual'; +END; +GO \ No newline at end of file