ember Error: Assertion Failed: fullName must be a proper full name

You might also encounter this error if you are using the new nested subfolder angle bracket syntax: <Foo::Bar />

Make sure you have the latest version of ember-angle-bracket-invocation-polyfill, at least 1.3.0


Reason

This error is thrown if moduleForComponent is used for a unit test and the first parameter(the name of the component) is started with component: prefix.

How to solve

You should check the name of the component that is written as parameter for unit test. If moduleForComponent is used, then component: prefix should not be used. However if moduleFor is used, then component: prefix should be used like below examples:

moduleForComponent('my-component', 'unit: my-component', {
  //test specifications
});

or

moduleFor('component:my-component', 'unit: my-component', {
  //test specifications
});

This twiddle demonstrates usages of both examples.


You will also see this horrible message with a malformed route name such as the following:

Router.map(function () {
  this.route('mock-test/:accountId/:companyId');
  return null;
});

where you have confused the route name with a path segment. Fix it like this:

Router.map(function () {
  this.route('mock-test', {
    path: 'mock-test/:accountId/:companyId',
  });
  return null;
});