UNPKG

5.03 kBJavaScriptView Raw
1'use strict';
2
3var test = require('tape');
4
5test('makes a rest call', function (t) {
6 t.plan(2);
7
8 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
9 var data = [{x:[0,1,2], y:[3,2,1], type: 'bar'}];
10 var layout = {fileopt : 'overwrite', filename : 'nodenodenodetest'};
11
12 plotly.plot(data, layout, function (err, msg) {
13 t.isEqual(msg.url, 'https://plot.ly/~node-test-account/0', 'url matches');
14 t.notOk(err ,'no error');
15 t.end();
16 });
17});
18
19test('makes a rest call', function (t) {
20 t.plan(2);
21
22 var options = {
23 username: 'node-test-account',
24 apiKey: 'tpmz9ye8hg',
25 host: 'plot.ly',
26 port: 443
27 };
28
29 var plotly = require('../index')(options);
30 var data = [{x:[0,1,2], y:[3,2,1], type: 'bar'}];
31 var layout = {fileopt : 'overwrite', filename : 'nodenodenodetest'};
32
33 plotly.plot(data, layout, function (err, msg) {
34 t.isEqual(msg.url, 'https://plot.ly/~node-test-account/0', 'url matches');
35 t.notOk(err ,'no error');
36 t.end();
37 });
38});
39
40test('makes a rest call', function (t) {
41 t.plan(2);
42 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
43 var data = [{x:[0,1,2], y:[3,2,1], type: 'bar'}];
44 var layout = {fileopt : 'overwrite', filename : 'nodenodenodetest'};
45
46 plotly.plot(data, layout, function (err, msg) {
47 t.isEqual(msg.url, 'https://plot.ly/~node-test-account/0', 'url matches');
48 t.notOk(err, 'no error');
49 t.end();
50 });
51});
52
53test('plot with incorrect userdata and return error', function (t) {
54 t.plan(1);
55
56 var plotly = require('../index')('node-test-accountasdfadsgaghaha', 'tpmz9ye8hg');
57 var data = [{x:[0,1,2], y:[3,2,1], type: 'bar'}];
58 var layout = {fileopt : 'overwrite', filename : 'nodenodenodetest'};
59
60 plotly.plot(data, layout, function (err, msg) {
61
62 var errMessage = msg.message.split(',')[0];
63
64 t.isEqual(errMessage, 'Aw', 'incorrect user info returns error... not properly though.');
65 t.end();
66 });
67});
68
69test('makes a rest call with host foo', function (t) {
70 t.plan(1);
71 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
72 plotly.host = 'foo';
73 var data = [{x:[0,1,2], y:[3,2,1], type: 'bar'}];
74 var layout = {fileopt : 'overwrite', filename : 'nodenodenodetest'};
75
76 plotly.plot(data, layout, function (err) {
77 t.ok(err, 'error received as host was set to "foo"');
78 t.end();
79 });
80});
81
82test('makes a rest call with no callback', function (t) {
83 t.plan(1);
84 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
85 plotly.host = 'foo';
86 var data = [{x:[0,1,2], y:[3,2,1], type: 'bar'}];
87 var layout = {fileopt : 'overwrite', filename : 'nodenodenodetest'};
88
89 plotly.plot(data, layout);
90 t.ok(true);
91 t.end();
92
93});
94
95test('makes a rest call with object for data', function (t) {
96 t.plan(1);
97 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
98 plotly.host = 'foo';
99 var data = {x:[0,1,2], y:[3,2,1], type: 'bar'};
100 var layout = {fileopt : 'overwrite', filename : 'nodenodenodetest'};
101
102 plotly.plot(data, layout);
103 t.ok(true);
104 t.end();
105
106});
107
108test('getFigure', function (t) {
109 t.plan(1);
110 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
111 plotly.getFigure('node-test-account', '0', function (err, figure) {
112 t.ok(figure);
113 t.end();
114 });
115
116});
117
118test('getFigure error', function (t) {
119 t.plan(1);
120 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
121 plotly.getFigure('node-test-account', '99', function (err) {
122
123 t.ok(err);
124 t.end();
125 });
126});
127
128test('getImage, good and error', function (t) {
129 t.plan(2);
130 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
131
132 var trace1 = {
133 x: [1, 2, 3, 4],
134 y: [10, 15, 13, 17],
135 type: 'scatter'
136 };
137
138 var trace2 = {
139 x: [1, 2, 3, 4],
140 y: [16, 5, 11, 9],
141 type: 'scatter'
142 };
143
144 var figure = {
145 'data': [trace1, trace2]
146 };
147
148 plotly.getImage(figure, {}, function (err, imageData) {
149 t.notOk(err);
150 t.ok(imageData);
151 t.end();
152 });
153});
154
155test('getImage, imageserver error', function (t) {
156 t.plan(2);
157 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
158
159 var trace1 = {
160 x: [1, 2, 3, 4],
161 y: [10, 15, 13, 17],
162 type: 'scatter'
163 };
164
165 var trace2 = {
166 x: [1, 2, 3, 4],
167 y: [16, 5, 11, 9],
168 type: 'scatter'
169 };
170
171 var data = [trace1, trace2];
172 plotly.getImage(data, 'img', function (err, imageData) {
173 t.ok(err);
174 t.notOk(imageData);
175 t.end();
176 });
177
178});
179
180
181
182test('streams some data', function (t) {
183 t.plan(1);
184 var plotly = require('../index')('node-test-account', 'tpmz9ye8hg');
185 var initdata = [{x:[], y:[], stream:{token:'i9zxn8goas', maxpoints:200}}];
186 var initlayout = {fileopt : 'extend', filename : 'nodenodenode-test-stream'};
187
188 plotly.plot(initdata, initlayout, function (err) {
189 if (err) return console.log(err);
190
191 var streamObject = JSON.stringify({ x : 1, y : 1 });
192
193 var stream = plotly.stream({
194 token: 'i9zxn8goas',
195 host: undefined,
196 port: null
197 });
198
199 setInterval(function () {
200 stream.write(streamObject+'\n');
201 }, 500);
202
203 setTimeout(function () {
204 t.ok(true, 'no errors');
205 t.end();
206 process.exit(0);
207 }, 5000);
208 });
209});