パッケージXolvio/meteor-cucumberを使用しており、フィクスチャ メソッドを呼び出して、その戻り値をステップ定義で使用しようとしています。
ステップ:
そして、SMS コード「#smsCodeVerification」を入力します。
ステップ定義:
this.Then(/^I fill in the sms code "([^"]*)"$/, function (verificationField, callback) {
var code = this.server.call('getSmsCodeForUser', "+467*******");
console.log("step code: " + code);
this.client
.waitForExist(verificationField, 4000)
.waitForVisible(verificationField, 2000)
.setValue(verificationField, code)
.call(callback);
});
上記のコードは次を出力します。
ステップコード: [オブジェクト Promise]
サーバーメソッドは次のようになります。
'getSmsCodeForUser': function (tel) {
var user = User.findOne({ phone: tel }),
password = Password.findOne({ user: user._id }),
code = parseInt(password.code);
return code;
}
ステップ定義のコンソール ログはサーバー メソッドが終了する前に実行され、サーバー メソッドからコールバックを取得する meteors の通常の方法を使用しても機能せず、undefined のみが返されます。