Lassen Sie mich zuerst das Problem zu erklären: Wir haben eine Ember basierte Dirty Form Checker, die das IsDirty Flag zurückgesetzt werden soll, wenn der Benutzer auf eine andere Seite wechselt und den Übergang bestätigt Änderungen auf der Seite. Wir hatten einen Fehler, bei dem der Bestätigungsdialog erneut angezeigt wurde, wenn der Benutzer mit Änderungen übergegangen, die Änderung bestätigt, dann zurückgegeben, keine Änderungen vorgenommen und wieder weg navigiert wurde. Einfache Lösung, setze einfach das Flag auf der anfänglichen Bestätigung zurück. Jetzt versuche ich, einen Integrationstest dafür zu schreiben, aber ich kann keine klare Dokumentation finden, wie man das testet. Was ich tun möchte, ist programmatisch die Form zu ändern, weg, dann zurück und dann wieder weg. Wie kann ich das erreichen? Das ist Ember 2.3.0.Ember Integration Test simulieren Übergang zu einer anderen Route und dann zurück
Hier ist etwas, was ich versucht habe:
this.render(hbs `{{#mycomp invokeDialog=invokeDialog on-dirty=formDirtyEvent on-confirm=dialogConfirmEvent on-cancel=dialogCancelEvent}}
{{mytextfield id=id label="dummy-form-fullName" type="text" inputBindValue="Paul Ryan"}}
{{/mycomp}}`);
Ember.$("#textfield-" + this.get('id')).val("Paul Ryana");
fillIn(Ember.$('#textfield-' + this.get('id')), 'Paul Ryanna');
visit("/").then(function() {
});
Dies erzeugt den Fehler:
"Error: Assertion Failed: You cannot use the same root element (#ember-testing) multiple times in an Ember.Application"
Danke, ich werde das versuchen. – Lazloman