         out = noflo.internalSocket.createSocket()
         c.inPorts['in'].attach ins
         c.outPorts['out'].attach out
-        out.on 'connect', ->
-          ins.send 'Foo'
+        received = false
         out.on 'data', (data) ->
           chai.expect(data).to.equal 'Foo'
-          ins.disconnect()
+          received = true
         out.on 'disconnect', ->
+          chai.expect(received, 'should have transmitted data').to.equal true
           done()
         ins.connect()
-      c.once 'network', ->
-        chai.expect(c.ready).to.be.false
-        chai.expect(c.network).not.to.be.null
-        c.network.loader.components.Split = Split
-        c.network.loader.components.Merge = SubgraphMerge
-        c.start()
+        ins.send 'Foo'
+        ins.disconnect()
+      c.once 'network', ->
+        chai.expect(c.ready).to.be.false
+        chai.expect(c.network).not.to.be.null
+        c.network.loader.components.Split = Split
+        c.network.loader.components.Merge = SubgraphMerge
+        c.start (err) ->
+          done err if err
       g.send file
 
   describe 'with a FBP file with legacy EXPORTS', ->

        network.loader.registerComponent '', 'Merge', SubgraphMerge
        chai.expect(c.ready).to.be.false
        chai.expect(c.network).not.to.be.null
        c.start()
      g.send
        processes:
          Split:

        chai.expect(c.network).not.to.be.null
        c.network.loader.components.Split = Split
        c.network.loader.components.Merge = SubgraphMerge
        c.start (err) ->
          done err if err
      g.send file
    it 'should be able to run the graph', (done) ->
      c.baseDir = root
