PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

retorno de chamada de comando personalizado nightwatch


Eu tive que envolver a conexão do banco de dados em um comando perform para fazer isso funcionar. Não tenho certeza se essa é a melhor maneira de lidar com o retorno de chamada, mas funciona. Aqui está a versão atualizada do comando personalizado:
exports.command = function(sql,callback) {
  var self = this;
  var pg = require('pg');
  var cs = self.globals.testinfo.connectionString;
  self.perform(function(self,done) {
    pg.connect(cs,function(err,db,done) {
      if(err) {
        return console.error(err);
      }  
      db.query(sql, function(err,result) {
        done();
        if(err) {
          return console.error(err);
        } 
        console.log(result.rows.length);
        callback(result.rows[0]);
      });
    });
    pg.end();
    done();
  });
};

Veja como chamo o comando personalizado no teste:
browser.myCustomCommand('select * from table limit 1;', function(row) {
  browser.assert.deepEqual(row.column,'some value');
});