]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - tests/qunit/suites/resources/mediawiki.api/mediawiki.ForeignApi.test.js
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / tests / qunit / suites / resources / mediawiki.api / mediawiki.ForeignApi.test.js
diff --git a/tests/qunit/suites/resources/mediawiki.api/mediawiki.ForeignApi.test.js b/tests/qunit/suites/resources/mediawiki.api/mediawiki.ForeignApi.test.js
new file mode 100644 (file)
index 0000000..69ab797
--- /dev/null
@@ -0,0 +1,32 @@
+( function ( mw ) {
+       QUnit.module( 'mediawiki.ForeignApi', QUnit.newMwEnvironment( {
+               setup: function () {
+                       this.server = this.sandbox.useFakeServer();
+                       this.server.respondImmediately = true;
+               }
+       } ) );
+
+       QUnit.test( 'origin is included in GET requests', function ( assert ) {
+               var api = new mw.ForeignApi( '//localhost:4242/w/api.php' );
+
+               this.server.respond( function ( request ) {
+                       assert.ok( request.url.match( /origin=/ ), 'origin is included in GET requests' );
+                       request.respond( 200, { 'Content-Type': 'application/json' }, '[]' );
+               } );
+
+               return api.get( {} );
+       } );
+
+       QUnit.test( 'origin is included in POST requests', function ( assert ) {
+               var api = new mw.ForeignApi( '//localhost:4242/w/api.php' );
+
+               this.server.respond( function ( request ) {
+                       assert.ok( request.requestBody.match( /origin=/ ), 'origin is included in POST request body' );
+                       assert.ok( request.url.match( /origin=/ ), 'origin is included in POST request URL, too' );
+                       request.respond( 200, { 'Content-Type': 'application/json' }, '[]' );
+               } );
+
+               return api.post( {} );
+       } );
+
+}( mediaWiki ) );