ember-learn / ember-cli-addon-docs

Easy, beautiful docs for your OSS Ember addons
https://ember-learn.github.io/ember-cli-addon-docs
MIT License
176 stars 143 forks source link

ember-cli-addon-docs includes ember-modal-dialog and interferes with documented addon #429

Open psbanka opened 4 years ago

psbanka commented 4 years ago

Hi, there. I have an addon which uses and extends ember-modal-dialog . However, when running tests of our addon, the test suddenly fail after adding ember-cli-addon-docs. Specifically, the dialog no longer inserts its overlay (and our tests verify this). This appears to be due to the fact that ember-cli-addon-docs extends the default dialog in this file: addon/components/modal-dialog/component.js therefore, our unit-tests fail because we are in a testing mode.

export default ModalDialog.extend({
  renderInPlace: computed(function() {
    let config = getOwner(this).resolveRegistration('config:environment')
    return config.environment === 'test';
  })
});

How should we proceed? We do not want to change our tests, because clearly this will be testing the wrong thing. Is there a reason why this has to be in place for ember-cli-addon-docs ?

psbanka commented 4 years ago

I was able to work around this by creating addon/components/our-modal-dialog.js as

import ModalDialog from 'ember-modal-dialog/components/modal-dialog'

export default ModalDialog.extend({
  renderInPlace: false,
})

and changing all references to modal-dialog elsewhere in the addon to our-modal-dialog. It would seem that a better approach would be to have ember-cli-addon-docs re-export its version of modal-dialog as a different name so as to avoid colliding with dialogs in an addon when testing.

RobbieTheWagner commented 4 years ago

@psbanka that seems like a logical solution. Would you be interested in opening a PR for that?