@@ -98,6 +98,36 @@ Describe 'New-SqlDscDatabaseSnapshot' -Tag 'Public' {
9898 return $mockSourceDatabase
9999 }
100100
101+ # Mock New-SqlDscDataFile and New-SqlDscFileGroup to avoid type conflicts
102+ # between test scope and module scope for PowerShell class types.
103+ Mock - CommandName ' New-SqlDscDataFile' - MockWith {
104+ InModuleScope - ScriptBlock {
105+ param ($Name , $FileName )
106+
107+ [DatabaseFileSpec ]@ {
108+ Name = $Name
109+ FileName = $FileName
110+ }
111+ } - Parameters @ {
112+ Name = $Name
113+ FileName = $FileName
114+ }
115+ }
116+
117+ Mock - CommandName ' New-SqlDscFileGroup' - MockWith {
118+ InModuleScope - ScriptBlock {
119+ param ($Name , $Files )
120+
121+ [DatabaseFileGroupSpec ]@ {
122+ Name = $Name
123+ Files = $Files
124+ }
125+ } - Parameters @ {
126+ Name = $Name
127+ Files = $Files
128+ }
129+ }
130+
101131 Mock - CommandName ' New-SqlDscDatabase' - MockWith {
102132 $mockSnapshotDatabase = New-Object - TypeName ' Microsoft.SqlServer.Management.Smo.Database'
103133 $mockSnapshotDatabase | Add-Member - MemberType ' NoteProperty' - Name ' Name' - Value $Name - Force
@@ -242,6 +272,36 @@ Describe 'New-SqlDscDatabaseSnapshot' -Tag 'Public' {
242272 return $mockDatabaseObject
243273 }
244274
275+ # Mock New-SqlDscDataFile and New-SqlDscFileGroup to avoid type conflicts
276+ # between test scope and module scope for PowerShell class types.
277+ Mock - CommandName ' New-SqlDscDataFile' - MockWith {
278+ InModuleScope - ScriptBlock {
279+ param ($Name , $FileName )
280+
281+ [DatabaseFileSpec ]@ {
282+ Name = $Name
283+ FileName = $FileName
284+ }
285+ } - Parameters @ {
286+ Name = $Name
287+ FileName = $FileName
288+ }
289+ }
290+
291+ Mock - CommandName ' New-SqlDscFileGroup' - MockWith {
292+ InModuleScope - ScriptBlock {
293+ param ($Name , $Files )
294+
295+ [DatabaseFileGroupSpec ]@ {
296+ Name = $Name
297+ Files = $Files
298+ }
299+ } - Parameters @ {
300+ Name = $Name
301+ Files = $Files
302+ }
303+ }
304+
245305 Mock - CommandName ' New-SqlDscDatabase' - MockWith {
246306 $mockSnapshotDatabase = New-Object - TypeName ' Microsoft.SqlServer.Management.Smo.Database'
247307 $mockSnapshotDatabase | Add-Member - MemberType ' NoteProperty' - Name ' Name' - Value $Name - Force
@@ -342,6 +402,36 @@ Describe 'New-SqlDscDatabaseSnapshot' -Tag 'Public' {
342402 return $mockDevSourceDatabase
343403 }
344404
405+ # Mock New-SqlDscDataFile and New-SqlDscFileGroup to avoid type conflicts
406+ # between test scope and module scope for PowerShell class types.
407+ Mock - CommandName ' New-SqlDscDataFile' - MockWith {
408+ InModuleScope - ScriptBlock {
409+ param ($Name , $FileName )
410+
411+ [DatabaseFileSpec ]@ {
412+ Name = $Name
413+ FileName = $FileName
414+ }
415+ } - Parameters @ {
416+ Name = $Name
417+ FileName = $FileName
418+ }
419+ }
420+
421+ Mock - CommandName ' New-SqlDscFileGroup' - MockWith {
422+ InModuleScope - ScriptBlock {
423+ param ($Name , $Files )
424+
425+ [DatabaseFileGroupSpec ]@ {
426+ Name = $Name
427+ Files = $Files
428+ }
429+ } - Parameters @ {
430+ Name = $Name
431+ Files = $Files
432+ }
433+ }
434+
345435 Mock - CommandName ' New-SqlDscDatabase' - MockWith {
346436 $mockSnapshotDatabase = New-Object - TypeName ' Microsoft.SqlServer.Management.Smo.Database'
347437 $mockSnapshotDatabase | Add-Member - MemberType ' NoteProperty' - Name ' Name' - Value $Name - Force
@@ -393,6 +483,36 @@ Describe 'New-SqlDscDatabaseSnapshot' -Tag 'Public' {
393483 return $mockEvalSourceDatabase
394484 }
395485
486+ # Mock New-SqlDscDataFile and New-SqlDscFileGroup to avoid type conflicts
487+ # between test scope and module scope for PowerShell class types.
488+ Mock - CommandName ' New-SqlDscDataFile' - MockWith {
489+ InModuleScope - ScriptBlock {
490+ param ($Name , $FileName )
491+
492+ [DatabaseFileSpec ]@ {
493+ Name = $Name
494+ FileName = $FileName
495+ }
496+ } - Parameters @ {
497+ Name = $Name
498+ FileName = $FileName
499+ }
500+ }
501+
502+ Mock - CommandName ' New-SqlDscFileGroup' - MockWith {
503+ InModuleScope - ScriptBlock {
504+ param ($Name , $Files )
505+
506+ [DatabaseFileGroupSpec ]@ {
507+ Name = $Name
508+ Files = $Files
509+ }
510+ } - Parameters @ {
511+ Name = $Name
512+ Files = $Files
513+ }
514+ }
515+
396516 Mock - CommandName ' New-SqlDscDatabase' - MockWith {
397517 $mockSnapshotDatabase = New-Object - TypeName ' Microsoft.SqlServer.Management.Smo.Database'
398518 $mockSnapshotDatabase | Add-Member - MemberType ' NoteProperty' - Name ' Name' - Value $Name - Force
0 commit comments