30% of session and group tests done

This commit is contained in:
John McLear 2014-11-26 21:06:35 +00:00
parent f3c2ac6d94
commit 98cc725300
1 changed files with 194 additions and 21 deletions

View File

@ -1,24 +1,198 @@
/* Endpoints Still to interact with.. var assert = require('assert')
padUsersCount(padID) supertest = require('supertest'),
setPublicStatus(padID, publicStatus) fs = require('fs'),
getPublicStatus(padID) api = supertest('http://localhost:9001');
setPassword(padID, password) path = require('path');
isPasswordProtected(padID)
listAuthorsOfPad(padID) var filePath = path.join(__dirname, '../../../../APIKEY.txt');
getLastEdited(padID)
listSessionsOfGroup(groupID) var apiKey = fs.readFileSync(filePath, {encoding: 'utf-8'});
getSessionInfo(sessionID) var apiVersion = 1;
deleteSession(sessionID) var testPadId = makeid();
createSession(groupID, authorID, validUntil) var groupID = "";
listPadsOfAuthor(authorID) var authorID = "";
createAuthorIfNotExistsFor(authorMapper [, name])
createAuthor([name]) describe('API Versioning', function(){
createGroupPad(groupID, padName [, text]) it('errors if can not connect', function(done) {
listPads(groupID) api.get('/api/')
deleteGroup(groupID) .expect(function(res){
createGroupIfNotExistsFor(groupMapper) apiVersion = res.body.currentVersion;
createGroup() if (!res.body.currentVersion) throw new Error("No version set in API");
return;
})
.expect(200, done)
});
})
/* Tests performed
-> createGroup() -- should return a groupID
-> listSessionsOfGroup(groupID) -- should be 0
-> deleteGroup(groupID)
-> createGroupIfNotExistsFor(groupMapper) -- should return a groupID
-> createAuthor([name]) -- should return an authorID
-> createAuthorIfNotExistsFor(authorMapper [, name]) -- should return an authorID
-> getAuthorName(authorID) -- should return a name IE "john"
-> listPadsOfAuthor(authorID)
-> createSession(groupID, authorID, validUntil)
-> getSessionInfo(sessionID)
-> listSessionsOfGroup(groupID) -- should be 1
-> deleteSession(sessionID)
-> getSessionInfo(sessionID) -- should have author id etc in
-> listPads(groupID) -- should be empty array
-> createGroupPad(groupID, padName [, text])
-> listPads(groupID) -- should be empty array
-> getPublicStatus(padId)
-> setPublicStatus(padId, status)
-> isPasswordProtected(padID) -- should be false
-> setPassword(padID, password)
-> isPasswordProtected(padID) -- should be true
*/ */
describe('createGroup', function(){
it('creates a new group', function(done) {
api.get(endPoint('createGroup'))
.expect(function(res){
if(res.body.code !== 0 || !res.body.data.groupID) throw new Error("Unable to create new Pad");
groupID = res.body.data.groupID;
})
.expect('Content-Type', /json/)
.expect(200, done)
});
})
describe('listSessionsOfGroup', function(){
it('Lists the session of a group', function(done) {
api.get(endPoint('listSessionsOfGroup')+"&groupID="+groupID)
.expect(function(res){
if(res.body.code !== 0 || res.body.data !== null) throw new Error("Sessions show as existing for this group");
})
.expect('Content-Type', /json/)
.expect(200, done)
});
})
describe('deleteGroup', function(){
it('Deletes a group', function(done) {
api.get(endPoint('deleteGroup')+"&groupID="+groupID)
.expect(function(res){
if(res.body.code !== 0) throw new Error("Group failed to be deleted");
})
.expect('Content-Type', /json/)
.expect(200, done)
});
})
describe('createGroupIfNotExistsFor', function(){
it('Creates a group if one doesnt exist for mapper 0', function(done) {
api.get(endPoint('createGroupIfNotExistsFor')+"&groupMapper=management")
.expect(function(res){
if(res.body.code !== 0 || !res.body.data.groupID) throw new Error("Sessions show as existing for this group");
groupID = res.body.data.groupID
})
.expect('Content-Type', /json/)
.expect(200, done)
});
})
describe('createAuthor', function(){
it('Creates an author with a name set', function(done) {
api.get(endPoint('createAuthor'))
.expect(function(res){
if(res.body.code !== 0 || !res.body.data.authorID) throw new Error("Sessions show as existing for this group");
})
.expect('Content-Type', /json/)
.expect(200, done)
});
})
describe('createAuthor', function(){
it('Creates an author with a name set', function(done) {
api.get(endPoint('createAuthor')+"&name=john")
.expect(function(res){
if(res.body.code !== 0 || !res.body.data.authorID) throw new Error("Unable to create user with name set");
authorID = res.body.data.authorID; // we will be this author for the rest of the tests
})
.expect('Content-Type', /json/)
.expect(200, done)
});
})
describe('createAuthorIfNotExistsFor', function(){
it('Creates an author if it doesnt exist already and provides mapping', function(done) {
api.get(endPoint('createAuthorIfNotExistsFor')+"&authorMapper=chris")
.expect(function(res){
if(res.body.code !== 0 || !res.body.data.authorID) throw new Error("Unable to create author with mapper");
})
.expect('Content-Type', /json/)
.expect(200, done)
});
})
describe('getAuthorName', function(){
it('Gets the author name', function(done) {
api.get(endPoint('getAuthorName')+"&authorID="+authorID)
.expect(function(res){
if(res.body.code !== 0 || !res.body.data === "john") throw new Error("Unable to get Author Name from Author ID");
})
.expect('Content-Type', /json/)
.expect(200, done)
});
})
/* Endpoints Still to interact with..
-> getAuthorName(authorID) -- should return a name IE "john"
-> listPadsOfAuthor(authorID)
-> createSession(groupID, authorID, validUntil)
-> getSessionInfo(sessionID)
-> listSessionsOfGroup(groupID) -- should be 1
-> deleteSession(sessionID)
-> getSessionInfo(sessionID) -- should have author id etc in
-> listPads(groupID) -- should be empty array
-> createGroupPad(groupID, padName [, text])
-> listPads(groupID) -- should be empty array
-> getPublicStatus(padId)
-> setPublicStatus(padId, status)
-> isPasswordProtected(padID) -- should be false
-> setPassword(padID, password)
-> isPasswordProtected(padID) -- should be true
*/
var endPoint = function(point){ var endPoint = function(point){
@ -35,4 +209,3 @@ function makeid()
} }
return text; return text;
} }