Ghost/test/regression/services/stripe.test.js

39 lines
1.2 KiB
JavaScript
Raw Normal View History

const sinon = require('sinon');
const rewire = require('rewire');
const events = require('events');
const rewiredStripeService = rewire('../../../core/server/services/stripe');
describe('Stripe Service', function () {
beforeEach(function () {
this.clock = sinon.useFakeTimers();
});
afterEach(function () {
this.clock.restore();
});
it('Emits a "services.stripe.reconfigured" event when it is reconfigured', async function () {
const eventsStub = new events.EventEmitter();
const configureApiStub = sinon.spy();
const emitReconfiguredEventSpy = sinon.spy(eventsStub, 'emit').withArgs('services.stripe.reconfigured');
rewiredStripeService.__set__('events', eventsStub);
await rewiredStripeService.init();
// This is _after_ init, because init calls configureApi, and we DGAF about that call.
rewiredStripeService.__set__('configureApi', configureApiStub);
eventsStub.emit('settings.edited', {
get: sinon.stub().withArgs('key').returns('stripe_connect_secret_key')
});
this.clock.tick(600);
sinon.assert.callOrder(configureApiStub, emitReconfiguredEventSpy);
});
});