UNPKG

hess-select-profile

Version:

Select a given profile value on the hess energy website https://hessenergy.com

81 lines (76 loc) 2.26 kB
var request = require('request') var inspect = require('eyespect').inspector(); var should = require('should'); var path = require('path') var fs = require('fs') var rewire = require('rewire') var index = require('../index') describe('Get Profile Values wiring', function () { var data beforeEach(function () { data = { jar: request.jar(), value: '1111', viewState: 'fooViewState' } }) it('should give error if "jar" parameter is not set', function (done) { delete data.jar index(data, function (err, reply) { should.exist(err) err.error[0].key.should.eql('jar') done() }) }) it('should give error if "value" parameter is not set', function (done) { delete data.value index(data, function (err, reply) { should.exist(err) err.error[0].key.should.eql('value') done() }) }) it('should give error if "viewState" parameter is not set', function (done) { delete data.viewState index(data, function (err, reply) { should.exist(err) err.error[0].key.should.eql('viewState') done() }) }) it('should be wired up correctly', function (done) { var index = rewire('../index') index.__set__('request', function (opts, cb) { var res = { statusCode: 200 } var filePath = path.join(__dirname, 'data/multipleProfileValues.html') var body = fs.readFileSync(filePath, 'utf8') var err = null cb(err, res, body) }) index(data, function (err, reply) { should.not.exist(err) should.exist(reply) done() }) }) it('should give error if desired profile value does not match current profile value', function (done) { var index = rewire('../index') index.__set__('request', function (opts, cb) { var res = { statusCode: 200 } var filePath = path.join(__dirname, 'data/defaultProfileOnly.html') var body = fs.readFileSync(filePath, 'utf8') var err = null cb(err, res, body) }) index(data, function (err, reply) { should.exist(err) err.desiredValue.should.eql(data.value) err.error.should.eql('current profile value on page does not match desired profile value') done() }) }) })