AmazonChimeSDK/AmazonChimeSDKTests/audiovideo/contentshare/DefaultContentShareControllerTests.swift (45 lines of code) (raw):
//
// DefaultContentShareControllerTests.swift
// AmazonChimeSDK
//
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
//
@testable import AmazonChimeSDK
import Mockingbird
import XCTest
class DefaultContentShareControllerTests: XCTestCase {
var contentShareVideoClientControllerMock: ContentShareVideoClientControllerMock!
var defaultContentShareController: DefaultContentShareController!
var videoSourceMock: VideoSourceMock!
override func setUp() {
videoSourceMock = mock(VideoSource.self)
contentShareVideoClientControllerMock = mock(ContentShareVideoClientController.self)
defaultContentShareController = DefaultContentShareController(contentShareVideoClientController: contentShareVideoClientControllerMock)
}
func testStartContentShareWithValidSource() throws {
let contentShareSource = ContentShareSource()
contentShareSource.videoSource = videoSourceMock
defaultContentShareController.startContentShare(source: contentShareSource)
verify(contentShareVideoClientControllerMock.startVideoShare(source: self.videoSourceMock)).wasCalled()
}
func testStartContentShareWithInvalidSource() throws {
let contentShareSource = ContentShareSource()
defaultContentShareController.startContentShare(source: contentShareSource)
verify(contentShareVideoClientControllerMock.startVideoShare(source: any())).wasNeverCalled()
}
func testStartContentShareWithConfig() {
let config = LocalVideoConfiguration()
let contentShareSource = ContentShareSource()
contentShareSource.videoSource = videoSourceMock
defaultContentShareController.startContentShare(source: contentShareSource, config: config)
verify(contentShareVideoClientControllerMock.startVideoShare(source: self.videoSourceMock, config: config)).wasCalled()
}
func testStopContentShare() throws {
defaultContentShareController.stopContentShare()
verify(contentShareVideoClientControllerMock.stopVideoShare()).wasCalled()
}
func testAddContentShareObserver() {
let contentShareObserverMock: ContentShareObserverMock = mock(ContentShareObserver.self)
defaultContentShareController.addContentShareObserver(observer: contentShareObserverMock)
verify(contentShareVideoClientControllerMock.subscribeToVideoClientStateChange(observer: contentShareObserverMock)).wasCalled()
}
func testRemoveContentShareObserver() {
let contentShareObserverMock: ContentShareObserverMock = mock(ContentShareObserver.self)
defaultContentShareController.removeContentShareObserver(observer: contentShareObserverMock)
verify(contentShareVideoClientControllerMock.unsubscribeFromVideoClientStateChange(observer: contentShareObserverMock)).wasCalled()
}
}