UNPKG

website-to-json

Version:

Converts all websites to JSON data

98 lines (85 loc) 2.51 kB
'use strict'; var sinon = require('sinon') var should = require('should'); var Promise = require('bluebird') var _ = require('lodash') var service = require('../index') var assert = require('assert') describe('user manager', function() { before(function before(done) { done() }) xit('make request', function test(done) { service.extractUrl('twitter.com') .then(function(result) { console.log(result); done() }) }) it('make request', function test(done) { var stub = sinon.stub(service, 'processUrlWithRequestAsync', function(config) { return Promise.resolve({ body: '<p>test</p>' }) }) service.extractUrl('my_url.com', { recipes: __dirname + '/recipes.js' }) .then(function(result) { assert.equal(result.id, 'my_url') assert.equal(result.data, 'test') stub.restore() done() }) }) it('make request', function test(done) { var stub = sinon.stub(service, 'processUrlWithRequestAsync', function(config) { return Promise.resolve({ body: '<p>test</p>' }) }) service.extractUrl('my_url.com/id/5', { recipes: [{ title: 'myurl', pattern: '(my_url)\.com/(id)/([0-9]+)', parse: function($) { return $('p').text() } }] }) .then(function(result) { assert.equal(result.id, 'my_url_id_5') assert.equal(result.data, 'test') stub.restore() done() }) }) it('make request and get social websites', function test(done) { var stub = sinon.stub(service, 'processUrlWithRequestAsync', function(config) { return Promise.resolve({ body: '<a href="https://www.facebook.com/abcdefgh"Facebook</a><a href="https://www.facebook.com/abcdefgh"Facebook</a>' }) }) service.extractData('my_url.com/id/5', {}) .then(function(result) { assert.equal(result.social.facebook, 'https://www.facebook.com/abcdefgh') stub.restore() done() }) }) it('make request and get social websites', function test(done) { var stub = sinon.stub(service, 'processUrlWithRequestAsync', function(config) { return Promise.resolve({ body: '<a href="https://www.domain.com/test">Domain</a>' }) }) service.extractData('my_url.com/id/5', { social: ['domain.com'] }) .then(function(result) { assert.equal(result.social.domain, 'https://www.domain.com/test') stub.restore() done() }) }) })