如何在运行验收测试之前更新属性对象的属性?

时间:2017-06-27 21:29:56

标签: javascript ember.js ember-data acceptance-testing ember-cli-mirage

首先,我们设置一个这样的场景:

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

一切正常。尝试在运行测试之前更新当前用户的属性时会出现此问题。

然后用以下内容更新当前用户:

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

这是为了转到特定用户,转到该用户名为' organization'的属性对象,并更新' organization'的属性。叫做“启动管理”#39;为真。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

在运行测试之前,您始终可以通过server.schema访问Mirage的ORM来改变数据库中的数据。

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

这将更新db中此用户记录的organization属性。

如果organization是一个对象,您可能想要进行克隆,例如:

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

顺便说一句,根据您的API,您可能希望考虑将organization设为单独的模型,而不是生成每个用户记录的POJO。