Skip to content

Commit 8db8bba

Browse files
committed
Testing subremote functions calls
1 parent ad50444 commit 8db8bba

File tree

2 files changed

+68
-7
lines changed

2 files changed

+68
-7
lines changed

src/core/error.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ dop.core.error = {
1919
FUNCTION_NOT_FOUND: 3,
2020
3: 'Remote function not found to be called',
2121
CUSTOM_REJECTION: 4,
22-
// 3: 'Remote function not found to be called'
22+
// 4: ''
2323
}
2424

2525
};

test/transports/call.js

Lines changed: 67 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
var test = require('tape');
22
var dopServer = require('../../dist/nodejs').create();
33
var dopClient = require('../../dist/nodejs').create();
4+
var dopClientClient = require('../../dist/nodejs').create();
45
dopServer.env = 'SERVER';
56
dopClient.env = 'CLIENT';
7+
dopClientClient.env = 'CLIENTCLIENT';
68
dopServer.data.object_inc = 7;
79

810

@@ -12,14 +14,12 @@ var transportConnect = require('dop-transports').connect[transportName];
1214

1315
var server = dopServer.listen({transport:transportListen})
1416
var client = dopClient.connect({transport:transportConnect, listener:server})
15-
server.on('connect', function(node) {
16-
if (typeof serverClient == 'undefined')
17-
serverClient = node;
18-
})
17+
var clientlisten = dopClient.listen({transport:transportListen})
18+
var clientclient = dopClientClient.connect({transport:transportConnect, listener:clientlisten})
19+
1920

2021
var objServer = dopServer.register({
2122
string: function(){
22-
tglobal.equal(objServer, this, 'Scope when calling remote is the same that calling locally')
2323
return 'Hello world';
2424
},
2525
undefined: function(){
@@ -29,6 +29,7 @@ var objServer = dopServer.register({
2929
return {hola:"mundo"}
3030
},
3131
sum: function(a, b) {
32+
tglobal.equal(objServer, this, 'Scope when calling remote is the same that calling locally')
3233
return a+b;
3334
},
3435
resolve: function(req) {
@@ -53,9 +54,20 @@ dopServer.onsubscribe(function() {
5354
return objServer;
5455
})
5556

57+
58+
var objClient = dopClient.register({});
59+
dopClient.onsubscribe(function() {
60+
return objClient;
61+
})
62+
63+
64+
65+
66+
67+
5668
test('TESTING RESOLVE AN REJECTS', function(t) {
5769

58-
client.subscribe().then(function(obj) {
70+
client.subscribe().into(objClient).then(function(obj) {
5971
tglobal=t;
6072
obj.string()
6173
.then(function(value){
@@ -100,3 +112,52 @@ client.subscribe().then(function(obj) {
100112
})
101113

102114

115+
test('CALLING A FUNCTIONS BY TWO LEVELS', function(t) {
116+
117+
objClient.sum = function(a,b){
118+
return a+a+b+b;
119+
};
120+
121+
clientclient.subscribe().then(function(obj){
122+
tglobal=t;
123+
obj.string()
124+
.then(function(value){
125+
t.equal('Hello world', value, 'Returning a string');
126+
return obj.undefined();
127+
})
128+
.then(function(value){
129+
t.equal(undefined, value, 'Returning nothing');
130+
return obj.object();
131+
})
132+
.then(function(value){
133+
t.equal(value.hola, 'mundo', 'Returning an object');
134+
return obj.sum(2, 2);
135+
})
136+
.then(function(value){
137+
t.equal(value, 8, 'Passing two parameters');
138+
return obj.resolve();
139+
})
140+
.then(function(value){
141+
t.equal(value, 'resolved', 'req.resolve instead of return');
142+
return obj.resolveAsync();
143+
})
144+
.then(function(value){
145+
t.equal(value, 'resolveAsync', 'Resolved async');
146+
return obj.reject();
147+
})
148+
.catch(function(value){
149+
t.equal(value, 'rejected', 'req.reject');
150+
return obj.reject0();
151+
})
152+
.catch(function(value){
153+
t.equal(value, 0, 'Rejecting cero value');
154+
delete objClient.sum;
155+
return obj.sum();
156+
})
157+
.catch(function(value){
158+
t.equal(value, dopClient.core.error.reject_remote[3], dopClient.core.error.reject_remote.FUNCTION_NOT_FOUND);
159+
t.end()
160+
})
161+
})
162+
163+
})

0 commit comments

Comments
 (0)