         fn = -> CineIO.playRecording("FAKE_STREAM_ID", "FAKE_RECORDING_NAME")
         expect(fn).to.throw(Error, "DOM node required.")
 
+      describe 'success', ->
+        beforeEach ->
+          @playRecordingStub = sinon.stub PlayStream, 'recording'
+
+        afterEach ->
+          @playRecordingStub.restore()
+
+        it 'calls to PlayStream', ->
+          CineIO.playRecording("FAKE_STREAM_ID", 'fakeRecording.mp4', 'fake-dom-id')
+          expect(@playRecordingStub.calledOnce).to.be.true
+          args = @playRecordingStub.firstCall.args
+          expect(args).to.deep.equal(["FAKE_STREAM_ID", 'fakeRecording.mp4', 'fake-dom-id', {}])
+
   describe '.getStreamDetails', ->
     requiresInit('getStreamDetails')
     describe 'after initialized', ->
       initCineIO()
       requiresStreamId('getStreamDetails')
 
+      describe 'success', ->
+        beforeEach ->
+          @getStreamDetailsStub = sinon.stub ApiBridge, 'getStreamDetails'
+
+        afterEach ->
+          @getStreamDetailsStub.restore()
+
+        it 'calls to the ApiBridge', ->
+          CineIO.getStreamDetails("FAKE_STREAM_ID", "the callback")
+          expect(@getStreamDetailsStub.calledOnce).to.be.true
+          args = @getStreamDetailsStub.firstCall.args
+          expect(args).to.deep.equal(["FAKE_STREAM_ID", 'the callback'])
+
   describe '.getStreamRecordings', ->
     requiresInit('getStreamRecordings')
     describe 'after initialized', ->
       initCineIO()
       requiresStreamId('getStreamRecordings')
+
+      describe 'success', ->
+        beforeEach ->
+          @getStreamRecordingsStub = sinon.stub ApiBridge, 'getStreamRecordings'
+
+        afterEach ->
+          @getStreamRecordingsStub.restore()
+
+        it 'calls to the ApiBridge', ->
+          CineIO.getStreamRecordings("FAKE_STREAM_ID", "the callback")
+          expect(@getStreamRecordingsStub.calledOnce).to.be.true
+          args = @getStreamRecordingsStub.firstCall.args
+          expect(args).to.deep.equal(["FAKE_STREAM_ID", 'the callback'])

CineIO = require('../src/main')

describe 'CineIO', ->


      it 'requires a DOM Node', ->
        fn = -> CineIO.play("FAKE_STREAM_ID")
        expect(fn).to.throw(Error, "DOM node required.")

      describe 'success', ->
        beforeEach ->
          @playStub = sinon.stub PlayStream, 'live'

        afterEach ->
          @playStub.restore()

        it 'calls to PlayStream', ->
          CineIO.play("FAKE_STREAM_ID", 'fake-dom-id')
          expect(@playStub.calledOnce).to.be.true
          args = @playStub.firstCall.args
          expect(args).to.deep.equal(["FAKE_STREAM_ID", 'fake-dom-id', {}])

  describe '.playRecording', ->
    requiresInit('playRecording')
