0

Zuerst richten wir ein Szenario wie folgt:Wie aktualisiere ich das Attribut eines Attributobjekts, bevor ich den Akzeptanztest durchführe?

setupProject(server, []); 
    visit('/items'); 

Das alles funktioniert gut. Das Problem tritt auf, wenn versucht wird, Attribute des aktuellen Benutzers zu aktualisieren, bevor der Test ausgeführt wird.

aktualisieren Sie dann den aktuellen Benutzer mit:

let user = server.create('user', 'organization', { enableManage: true }); 

Dies soll an den bestimmten Benutzer gehen, gehen Sie zu einem Attribut Objekt auf den Benutzer namens ‚Organisation‘ und aktualisieren Sie ein Attribut ‚Organisation‘ genannt 'enableManage' auf 'wahr'.

Jede Hilfe wird geschätzt.

Antwort

0

Sie können immer auf das ORM von Mirage zugreifen, indem Sie server.schema eingeben, um Daten in der Datenbank zu ändern, bevor Sie einen Test ausführen.

let user = server.schema.users.find(1); 
user.update({ organization: { enableManage: true }); 

dass die organization Eigenschaft dieses Benutzerdatensatz in der db aktualisieren würde.

Wenn organization ein Objekt Sie vielleicht einen Klon tun wollen, so etwas wie:

user.update({ organization: Object.assign(user.organization, { enableManage: true })); 

By the way, je nach API sieht es aus wie Sie organization ein separates Modell machen vielleicht zu prüfen, statt eines POJO, der in den Aufzeichnungen jedes Benutzers lebt.

Verwandte Themen