In my app I have this initializer which injects the store into all services:
export function initialize(container, application) {
application.inject('service', 'store', 'store:main');
}
export default {
name: 'inject-store-in-services',
initialize: initialize
};
My problem is that when I run unit tests, services don’t have the store
property. So my question: is there a way to achieve what my initializer does but inside a unit test context?
To run a subset of your tests by title use the --filter option. Quickly test your current work ember test --filter="dashboard" , or only run a certain type of test ember test --filter="integration" .
A Service is an Ember object that lives for the duration of the application, and can be made available in different parts of your application. Services are useful for features that require shared state or persistent connections. Example uses of services might include: User/session authentication. Geolocation.
In recent versions of Ember you can inject the store as a service, e.g:
Ember.Service.extend({
store: Ember.inject.service()
});
It gets the service name from the property name, so if you call it something else you need to specify 'store'.. e.g:
Ember.Service.extend({
banana: Ember.inject.service('store')
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With