PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

benutzerdefinierter Nightwatch-Befehlsrückruf

Ich musste die Datenbankverbindung in einen Perform-Befehl packen, damit das funktioniert. Ich bin mir nicht sicher, ob dies der beste Weg ist, um mit dem Rückruf umzugehen, aber es funktioniert. Hier ist die aktualisierte Version des benutzerdefinierten Befehls:

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

So rufe ich den benutzerdefinierten Befehl im Test auf:

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