如果我做了这个单元测试,
test('it saves included instances', async() => {
/* Get "water" composition */
const compositions = await _compositions.findAll(
{include: [{model: _elements, where: {name: 'water'}}, _atoms]});
/**
* compositions[0] -> Hydrogren
* compositions[1] -> Oxygen
*/
let hydrogen = compositions[0].get('atom');
/* rename "Hydrogen" to "My super Hydrogen" */
hydrogen.name = 'My super Hydrogen';
/* save the composition */
compositions[0].save();
/* Get a fresh Hydrogen Instance from the database */
hydrogen = await _atoms.find({where: {symbol: 'H'}});
expect(hydrogen.name)
.to.equal('My super Hydrogen', 'wrong, the value is still Hydrogen');
});我希望该值等于以前从相关对象中保存的值。
属性atom是composition的外键:
compositionModel.belongsTo(await getAtomModel(), {foreignKey: 'atom_id'});发布于 2018-04-20 23:26:01
当您更新一个对象时,您应该对实例本身调用.update。
test('it saves included instances', async() => {
const compositions = await _compositions.findAll(
{include: [{model: _elements, where: {name: 'water'}}, _atoms]});
let hydrogen = compositions[0].get('atom');
let newName = 'My super Hydrogen';
compositions[0].update({
name: newName
});
/* Get a fresh Hydrogen Instance from the database */
hydrogen = await _atoms.find({where: {symbol: 'H'}});
expect(hydrogen.name)
.to.equal(newName);
});https://stackoverflow.com/questions/49943896
复制相似问题