diff --git a/src/pester-tests/Register-ObjectEvent.Tests.ps1 b/src/pester-tests/Register-ObjectEvent.Tests.ps1 new file mode 100644 index 0000000000..0e8d5c8035 --- /dev/null +++ b/src/pester-tests/Register-ObjectEvent.Tests.ps1 @@ -0,0 +1,31 @@ +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 + + } + } +}