diff --git a/node/internal/mocha_test.bzl b/node/internal/mocha_test.bzl index 680286f..13f5e6f 100644 --- a/node/internal/mocha_test.bzl +++ b/node/internal/mocha_test.bzl @@ -40,13 +40,21 @@ def mocha_test( visibility = visibility, deps = deps + [name + "_module"], ) - + + entrypoint = [ + "%s_modules" % name, + "node_modules" + ] + + if PACKAGE_NAME: + entrypoint.insert(0, PACKAGE_NAME) + entrypoint.append(PACKAGE_NAME) + entrypoint.append("%s_module" % name) + native.sh_test( name = name, srcs = [script], - args = args + [ - "{name}_modules/node_modules/{name}_module".format(name = name), - ], + args = args + ["/".join(entrypoint)], data = [ mocha_bin, name + "_modules", diff --git a/node/internal/mocha_test.sh b/node/internal/mocha_test.sh index a1217df..8925b6b 100755 --- a/node/internal/mocha_test.sh +++ b/node/internal/mocha_test.sh @@ -1,2 +1,3 @@ set -eu external/mocha_modules/mocha_bin $@ + diff --git a/tests/mocha/src/main/js/BUILD b/tests/mocha/src/main/js/BUILD index 006f6a3..746316e 100644 --- a/tests/mocha/src/main/js/BUILD +++ b/tests/mocha/src/main/js/BUILD @@ -1,9 +1,15 @@ package(default_visibility = ["//visibility:public"]) -load("@org_pubref_rules_node//node:rules.bzl", "node_module") +load("@org_pubref_rules_node//node:rules.bzl", "node_module", "mocha_test") node_module( name = "greeter", main = "greeter.js", ) + +mocha_test( + name = "greeter_test", + main = "greeter_test.js", + deps = [":greeter"], +) diff --git a/tests/mocha/src/main/js/greeter_test.js b/tests/mocha/src/main/js/greeter_test.js new file mode 100644 index 0000000..43daea4 --- /dev/null +++ b/tests/mocha/src/main/js/greeter_test.js @@ -0,0 +1,8 @@ +var greet = require('src/main/js/greeter'); +var assert = require('assert'); + +describe('#greet()', function() { + it('should say hello', function() { + assert.equal('Hello World!', greet('World')); + }); +});