PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

rappel de commande personnalisé nightwatch

J'ai dû envelopper la connexion à la base de données dans une commande perform pour que cela fonctionne. Je ne sais pas si c'est la meilleure façon de gérer le rappel, mais cela fonctionne. Voici la version mise à jour de la commande personnalisée :

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();
  });
};

Voici comment j'appelle la commande personnalisée dans le test :

browser.myCustomCommand('select * from table limit 1;', function(row) {
  browser.assert.deepEqual(row.column,'some value');
});