wardbell / bardjs

Spec helpers for testing angular v.1.x apps with Mocha, Jasmine and QUnit
MIT License
178 stars 34 forks source link

allow provider injection #44

Open chrisakers opened 7 years ago

chrisakers commented 7 years ago

Hello @wardbell and contributors. I love how Bard allows injected services to be promoted to globals and makes the test relatively free from noise boilerplate instrumentation. But when I got around to adding tests for a provider I got a bit bummed that I had to add some boilerplate back in:

...
describe('personalizationConfig', function () {
    var personalizationConfigProvider;

    beforeEach(function () {
        bard.appModule('corp.personalization', function (_personalizationConfigProvider_) {
            personalizationConfigProvider = _personalizationConfigProvider_;
        });
        bard.inject(this, 'personalizationConfig');
    });

    describe('provider', function () {
        describe('initial state', function () {
...

So I wanted to see if it would be technically possible to allow:

...
describe('personalizationConfig', function () {
    beforeEach(function () {
        bard.appModule('corp.personalization');
        bard.inject(this, 'personalizationConfigProvider', 'personalizationConfig');
    });

    describe('provider', function () {
        describe('initial state', function () {
...

And was satisfied that this modified code performs as expected and demonstrates it's technically possible. However, much like John Hammond, I was so preoccupied with whether or not I could, I didn’t stop to think if I should.

Do you think this adds value? Does this violate some type of parity goal with standard angular.mock.module or inject? Thoughts?

chrisakers commented 7 years ago

One note. This is just an exploratory PR to prove feasibility. I haven't considered all branches through inject so this PR should not be merged in the current state.

wardbell commented 7 years ago

Hi Chris. As I state in issue #45, I can't keep up any more. I spoke to John Papa and he thinks you'd be a motivated and capable successor. It's yours if you're willing to take it.