tests/Save-SkylineListSchema.Tests.ps1
Describe "Save-SkylineListSchema" { BeforeAll { $TempPath = (Get-Item "TestDrive:\").FullName New-PnPList -Title "ListSchemaTest1" -Url "ListSchemaTest1" -Template GenericList -EnableVersioning -EnableContentTypes $TempList1 = Get-PnPList "ListSchemaTest1" New-PnPList -Title "ListSchemaTest2" -Url "ListSchemaTest2" -Template Announcements $TempList2 = Get-PnPList "ListSchemaTest2" } Context "save temporary list 1 that was created" { It "should save the temporary list's provisioning schema" { Save-SkylineListSchema -List "ListSchemaTest1" -Path "$TempPath\ListSchemaTest1.xml" } It "should have exported an XML file" { Test-Path "$TempPath\ListSchemaTest1.xml" | Should Be $true } It "should only have one list instance in XML file" { [XML]$SchemaXML = Get-Content -Path "$TempPath\ListSchemaTest1.xml" @($SchemaXML.Provisioning.Templates.ProvisioningTemplate.Lists.ListInstance).Count | Should Be 1 } It "should only have the target list instance by name in XML file" { [XML]$SchemaXML = Get-Content -Path "$TempPath\ListSchemaTest1.xml" $SchemaXML.Provisioning.Templates.ProvisioningTemplate.Lists.ListInstance.Title | Should Be "ListSchemaTest1" } } Context "save both temporary lists that were created" { It "should save the temporary list's provisioning schema" { Save-SkylineListSchema -List "ListSchemaTest1", "ListSchemaTest2" -Path "$TempPath\ListSchemaTest2.xml" } It "should have exported an XML file" { Test-Path "$TempPath\ListSchemaTest2.xml" | Should Be $true } It "should have two list instances in XML file" { [XML]$SchemaXML = Get-Content -Path "$TempPath\ListSchemaTest2.xml" @($SchemaXML.Provisioning.Templates.ProvisioningTemplate.Lists.ListInstance).Count | Should Be 2 } } AfterAll { Remove-PnPList $TempList1 -Force Remove-PnPList $TempList2 -Force } } |