In my application I'd like to test a class method on my GooglePlaceRetriever service. I know that when testing in Ember-Cli I can use this.subject() to get an instance of the service, but I'm not sure how I can access the actual GooglePlaceRetriever object, itself, to test my class methods.
import {
moduleFor,
test
} from 'ember-qunit';
moduleFor('service:google-place-retriever', 'GooglePlaceRetrieverService', {
// Specify the other units that are required for this test.
// needs: ['service:foo']
});
// Replace this with your real tests.
test('it exists', function() {
var service = this.subject();
ok(service);
});
test('fetches place details from Google and converts it to a location', function()
//Cannot figure out how to access the Class as opposed to the instance.
var location = ???.findByPlaceId('ChIJaeKPQD_zz4kRy4c8TvnwGIg');
ok(location.get('name'), "My Name");
});
You can access class methods for testing like this:
Why class methods, though? Shouldn’t the service be instantiated?