PowerShell7/test/powershell/Register-ObjectEvent.Tests.ps1
2016-03-04 14:52:27 -08:00

32 lines
1.3 KiB
PowerShell

Describe "Register-ObjectEvent" {
BeforeEach {
$pesterobject = (New-Object System.Collections.ObjectModel.ObservableCollection[object])
}
AfterEach {
Unregister-Event -SourceIdentifier PesterTestRegister -ErrorAction SilentlyContinue
}
Context "Check return type of Register-ObjectEvent" {
It "Should return System.Management.Automation.PSEventSubscriber as return type of New-Event with the registered sourceidentifier" {
Register-ObjectEvent -InputObject $pesterobject -EventName CollectionChanged -SourceIdentifier PesterTestRegister
(Get-EventSubscriber -SourceIdentifier PesterTestRegister).GetType() | Should Be System.Management.Automation.PSEventSubscriber
}
}
Context "Check Register-ObjectEvent can validly register events"{
It "Should return source identifier of PesterTimer " {
Register-ObjectEvent -InputObject $pesterobject -EventName CollectionChanged -SourceIdentifier PesterTestRegister
(Get-EventSubscriber -SourceIdentifier PesterTestRegister).SourceIdentifier | Should Be "PesterTestRegister"
}
It "Should return an integer greater than 0 for the SubscriptionId" {
Register-ObjectEvent -InputObject $pesterobject -EventName CollectionChanged -SourceIdentifier PesterTestRegister
(Get-EventSubscriber -SourceIdentifier PesterTestRegister).SubscriptionId | Should BeGreaterThan 0
}
}
}