This repository was archived by the owner on Jul 6, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscans.js
More file actions
112 lines (94 loc) · 3.27 KB
/
Copy pathscans.js
File metadata and controls
112 lines (94 loc) · 3.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
var server = require('../server')
, should = require('should')
, assert = require('assert')
, request = require('supertest')
, mongoose = require('mongoose-q')()
, winston = require('winston')
, Q = require('q')
, db = mongoose.connection
, session = require('supertest-session')({app: server.app})
, moment = require('moment')
, _ = require('lodash')
var Fleet = require('../server/models/fleet')
, Member = require('../server/models/member')
, Event = require('../server/models/event')
, Hostile = require('../server/models/hostile')
describe('Scans', function() {
var igb_headers = require('./fixtures/tarei-ju-.json');
var scan_data = require('./fixtures/scan-data.json');
describe('should make scans publically visible by id', function() {
before(function() { this.sess = new session(); });
after(function() { this.sess = new session(); });
var scan_id;
it('should create a fleet', function(done) {
this.sess
.post('/api/fleet/create')
.set(igb_headers)
.expect(200, done)
});
it('when checking status of a fleet', function(done) {
this.sess
.get('/api/fleet/status')
.set(igb_headers)
.expect(200)
.end(function(err, res) {
if (err) return done(err);
res.body.success.should.be.ok;
done();
});
});
it('when submitting a scan', function(done) {
this.sess
.post('/api/fleet/scan')
.set(igb_headers)
.send(scan_data)
.expect(200)
.end(function(err, res) {
if (err) return done(err);
res.body.success.should.be.ok;
done();
});
});
it('when checking fleet status', function(done) {
this.sess
.get('/api/fleet/status')
.set(igb_headers)
.expect(200)
.end(function(err,res) {
if (err) return done(err);
res.body.success.should.be.ok;
res.body.should.have.property('events').with.lengthOf(6);
res.body.events[0].should.have.property('type', 'statusSelf');
res.body.events[1].should.have.property('type', 'statusFleet');
res.body.events[2].should.have.property('type', 'statusEvents');
res.body.events[3].should.have.property('type', 'statusMembers');
res.body.events[4].should.have.property('type', 'statusHostiles');
res.body.events[5].should.have.property('type', 'statusScans');
res.body.events[5].should.have.property('data').with.lengthOf(1)
scan_id = res.body.events[5].data[0]._id;
done();
});
});
it('when checking the scan publically', function(done) {
request(server.app)
.get('/scans/' + scan_id)
.expect(200)
.end(function(err,res) {
if (err) return done(err);
var ship_class = new RegExp(scan_data.classes[0].details[0].shipClass, 'g');
res.text.should.match(ship_class);
done();
});
});
it('when checking the wrong scan publically', function(done) {
request(server.app)
.get('/scans/12345abcdef')
.expect(200)
.end(function(err,res) {
if (err) return done(err);
res.text.should.match(/Invalid Scan ID/);
done();
});
})
});
});