Skip to content

Commit decd302

Browse files
more exhaustive testing of #393
1 parent ef11726 commit decd302

3 files changed

Lines changed: 20 additions & 5 deletions

File tree

src/SqlClient/Properties/launchSettings.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414
"commandName": "Executable",
1515
"executablePath": "C:\\Users\\gauth\\AppData\\Local\\JetBrains\\Toolbox\\apps\\Rider\\ch-0\\232.10203.29\\bin\\rider64.exe",
1616
"commandLineArgs": "..\\..\\..\\..\\..\\tests.sln"
17+
},
18+
"debug vs2026": {
19+
"commandName": "Executable",
20+
"executablePath": "C:\\Program Files\\Microsoft Visual Studio\\18\\Community\\Common7\\IDE\\devenv.exe",
21+
"commandLineArgs": ".\\Tests.sln",
22+
"workingDirectory": "C:\\dev\\src\\github\\fsprojects\\FSharp.Data.SqlClient.testpr"
1723
}
1824
}
1925
}

tests/SqlClient.Tests/TVPTests.fs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,11 +201,15 @@ let ``issue #345 decimal in TVP gets rounded`` () =
201201
[<Fact>]
202202
let ``issue #393 troubleshoot if datetimeoffset raises an exception`` () =
203203
// N.B, this should be tested against SQL Azure
204-
let value = System.DateTimeOffset.UtcNow
205-
let tvp = [AdventureWorks.dbo.``User-Defined Table Types``.datetimeoffset_test_tvp(value)]
204+
let datetimeoffset_value = System.DateTimeOffset.UtcNow
205+
let datetime2_value = System.DateTime.UtcNow
206+
let time_value = System.DateTime.UtcNow.TimeOfDay
207+
let tvp = [AdventureWorks.dbo.``User-Defined Table Types``.datetimeoffset_test_tvp(datetimeoffset_value, datetime2_value, time_value)]
206208
use cmd = new AdventureWorks.dbo.datetimeoffset_test(ConnectionStrings.AdventureWorksLiteral)
207209
let resultvalue = cmd.Execute(tvp) |> Seq.head
208-
Assert.Equal(value, resultvalue)
210+
Assert.Equal(datetimeoffset_value, resultvalue.created_at)
211+
Assert.Equal(datetime2_value , resultvalue.datetime2_value)
212+
Assert.Equal(time_value , resultvalue.time_value)
209213

210214
type FixedLengthBinaryTVP = SqlCommandProvider<"EXEC [dbo].[FixedLengthBinaryTVPTestProc] @fixedLengthBinaryTests", ConnectionStrings.AdventureWorksLiteral>
211215
[<Fact>]

tests/SqlClient.Tests/extensions.sql

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,11 +431,16 @@ go
431431
if type_id('dbo.datetimeoffset_test_tvp') is not null
432432
drop type dbo.datetimeoffset_test_tvp
433433
go
434-
create type dbo.datetimeoffset_test_tvp as table(created_at datetimeoffset not null)
434+
create type dbo.datetimeoffset_test_tvp as table(
435+
created_at datetimeoffset not null
436+
, datetime2_value datetime2 not null
437+
, time_value time not null
438+
)
435439
go
436440
create procedure dbo.datetimeoffset_test (@tvp dbo.datetimeoffset_test_tvp readonly)
437441
as
438442
begin
439-
select created_at from @tvp
443+
select created_at, datetime2_value, time_value from @tvp
440444
end
441445
go
446+

0 commit comments

Comments
 (0)