Monday, 22 May 2017

Error: "jQuery requires a window with a document" with mocha and typescript?

I have some typescript mocha unit tests that I'm running; I have successfully imported jquery, but I get an error:

import * as $ from 'jquery';  // or maybe this should be in beforeEach() ?

...
it('should append a div', function() {
   $("body").append("div");  // ERROR: Causes "jQuery requires a window with a document"

});

I read a similar question where the solution in node.js was:

var $ = require('jquery')(require("jsdom").jsdom().parentWindow);

but I tried to use typings to install jsdom and I get a different error which indicates that I'm not using the correct source...

$ typings search jsdom
NAME   SOURCE    HOMEPAGE                         DESCRIPTION VERSIONS UPDATED
jsdom  dt        https://github.com/tmpvar/jsdom              2        2017-02-13T06:16:22.000Z


$ typings install jsdom
typings ERR! message Unable to find "jsdom" ("npm") in the registry.
typings ERR! message However, we found "jsdom" for 1 other source: "dt"
typings ERR! message You can install these using the "source" option.
typings ERR! message We could use your help adding these typings to the registry: https://github.com/typings/registry
typings ERR! caused by https://api.typings.org/entries/npm/jsdom/versions/latest responded with 404, expected it to equal 200
typings ERR!
typings ERR! cwd /home/accounting/Documents/dev/anki-accounting-unit-tests
typings ERR! system Linux 4.4.0-78-generic
typings ERR! command "/usr/bin/nodejs" "/usr/local/bin/typings" "install" "jsdom"
typings ERR! node -v v4.2.6
typings ERR! typings -v 2.1.1
typings ERR!
typings ERR! If you need help, you may report this error at:
typings ERR!   <https://github.com/typings/typings/issues>



via leeand00

No comments:

Post a Comment