Skip to content
This repository has been archived by the owner on Aug 11, 2021. It is now read-only.

Commit

Permalink
Adds tests for blocks and service.
Browse files Browse the repository at this point in the history
  • Loading branch information
hackergrrl committed Apr 15, 2016
1 parent afe3405 commit 94d0b12
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 6 deletions.
84 changes: 78 additions & 6 deletions test/block-service-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ module.exports = (repo) => {
done()
})

it('store a block', (done) => {
it('store and get a block', (done) => {
const b = new Block('A random data block')
bs.addBlock(b, (err) => {
expect(err).to.not.exist
Expand All @@ -28,7 +28,7 @@ module.exports = (repo) => {
})
})

it('store a block, with custom extension', (done) => {
it('store and get a block, with custom extension', (done) => {
const b = new Block('A random data block', 'ext')
bs.addBlock(b, (err) => {
expect(err).to.not.exist
Expand All @@ -44,7 +44,8 @@ module.exports = (repo) => {
it('get a non existent block', (done) => {
const b = new Block('Not stored')
bs.getBlock(b.key, (err, block) => {
expect(err).to.exist
expect(err).to.not.exist
expect(block).to.not.exist
done()
})
})
Expand All @@ -60,28 +61,92 @@ module.exports = (repo) => {
})
})

it('addBlocks: bad invocation', (done) => {
const b1 = new Block('1')

bs.addBlocks(b1, (err) => {
expect(err).to.be.an('error')
done()
})
})

it('getBlock: bad invocation', (done) => {
bs.getBlock(null, (err) => {
expect(err).to.be.an('error')
done()
})
})

it('getBlocks: bad invocation', (done) => {
bs.getBlocks(null, 'protobuf', (err) => {
expect(err).to.be.an('error')
done()
})
})

it('get many blocks', (done) => {
const b1 = new Block('1')
const b2 = new Block('2')
const b3 = new Block('3')

bs.addBlocks([b1, b2, b3], (err) => {
expect(err).to.not.exist

bs.getBlocks([b1.key, b2.key, b3.key], (err, blocks) => {
expect(err).to.not.exist
expect(blocks).to.have.lengthOf(3)
done()
})
})
})

it('get many blocks: partial success', (done) => {
const b1 = new Block('a1')
const b2 = new Block('a2')
const b3 = new Block('a3')

bs.addBlocks([b1, b3], (err) => {
expect(err).to.not.exist

bs.getBlocks([b1.key, b2.key, b3.key], (err, blocks) => {
expect(err).to.not.exist
expect(blocks).to.have.lengthOf(2)
done()
})
})
})

it('delete a block', (done) => {
const b = new Block('Will not live that much')
bs.addBlock(b, (err) => {
expect(err).to.not.exist
bs.deleteBlock(b.key, (err) => {
expect(err).to.not.exist
bs.getBlock(b.key, (err, block) => {
expect(err).to.exist
expect(err).to.not.exist
expect(block).to.not.exist
done()
})
})
})
})

it('deleteBlock: bad invocation', (done) => {
bs.deleteBlock(null, (err) => {
expect(err).to.be.an('error')
done()
})
})

it('delete a block, with custom extension', (done) => {
const b = new Block('Will not live that much', 'ext')
bs.addBlock(b, (err) => {
expect(err).to.not.exist
bs.deleteBlock(b.key, 'ext', (err) => {
expect(err).to.not.exist
bs.getBlock(b.key, 'ext', (err, block) => {
expect(err).to.exist
expect(err).to.not.exist
expect(block).to.not.exist
done()
})
})
Expand All @@ -101,10 +166,17 @@ module.exports = (repo) => {
const b2 = new Block('2')
const b3 = new Block('3')

bs.deleteBlocks([b1, b2, b3], (err) => {
bs.deleteBlocks([b1, b2, b3], 'data', (err) => {
expect(err).to.not.exist
done()
})
})

it('deleteBlocks: bad invocation', (done) => {
bs.deleteBlocks(null, (err) => {
expect(err).to.be.an('error')
done()
})
})
})
}
7 changes: 7 additions & 0 deletions test/block.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ describe('block', () => {
expect(b.extension).to.be.eql('data')
})

it('create /wo new', () => {
const b = Block('random-data')
expect(b.key).to.exist
expect(b.data).to.exist
expect(b.extension).to.be.eql('data')
})

it('fail to create an empty block', () => {
expect(() => new Block()).to.throw()
})
Expand Down

0 comments on commit 94d0b12

Please sign in to comment.