docs: function drainEventBusAndTick( done ) {
        // to ensure that done is only called after the promise of updateAreaVisibility was resolved, we ensure
        // that the widget and the testing code wait for the same promise to be resolved before continuing.
        const promise = new Promise( resolve => {
           axMocks.widget.axVisibility.updateAreaVisibility.and.callFake( () => {
              resolve();
              return promise;
           } );
        } );
        return testEventBus.drainAsync()
           .then( () => promise )
           .then( done, done.fail );
     }