title: Testing in Ember with Mirage - delete item without dependent items
body: <p>In my Ember Application you can add, edit and delete events and todos and connect the todos with the events. The backend is a rails application. For testing I use Mirage. The models in Mirage have following relationships:</p>
  
  <pre><code>//Mirage event
  import { belongsTo, hasMany, Model } from 'ember-cli-mirage';
  
  export default Model.extend({
    user: belongsTo('user'),
    todos: hasMany('todo')
  });
  
  //Mirage todo
  import { belongsTo, Model } from 'ember-cli-mirage';
  
  export default Model.extend({
    user: belongsTo('user'),
    event: belongsTo('event')
  });
  </code></pre>
  
  <p>In my acceptance test I create a user with an event and some todos connected with the event and the user. I visit the events page and click on the created event. You can select all todos connected with the event to delete them too. But in this case I just want to delete the event without the connected todos. Than I start the delete request by confirming. </p>
  
  <pre><code>//acceptance test events-test.js    
  test('delete event without todo', function(assert) {
      const user = server.create('user'),
          event = server.create('event', {
              user
          }),
          todos = server.createList('todo', 4, { user, event });
      authenticateSession(this.application, {
          id: user.id,
          token: user.token
      });
      visit('/events');
      andThen(function() {
          assert.equal(find('td.fc-event-container').length, 5, 'There should be exactly one Event and four Todo');
          assert.equal(currentURL(), '/events', 'currentURL should be /events');
          click(find('td.fc-event-container a').eq(0));
          andThen(function() {
              click('button.delete');
              andThen(function() {
                  click('button.confirm');
                  andThen(function() {
                      assert.equal(find('td.fc-event-container').length, 4, 'There should be exactly zero Events but four Todo');
                      assert.equal(currentURL(), '/events', 'currentURL should be /events');
                  });
              });
          });
      });
  });
  </code></pre>
  
  <p>The delete route in the config.js:</p>
  
  <pre><code> //Mirage config.js
       this.del('/events/:id');
  </code></pre>
  
  <p>In productive code everything works fine. But in the test the created event has zero todos as relations and after confirming it deletes the event and exactly one todo. 
  <a href="https://i.stack.imgur.com/gtKKy.png" rel="nofollow noreferrer">error message</a> </p>