mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-22 01:25:10 +00:00
Fixed code review items
This commit is contained in:
parent
69b96f85e0
commit
94faa34930
1 changed files with 61 additions and 50 deletions
|
|
@ -13,7 +13,7 @@ let assert = sinon.assert;
|
||||||
chai.use(sinonChai);
|
chai.use(sinonChai);
|
||||||
|
|
||||||
describe('Asset Transfer Basic Tests', () => {
|
describe('Asset Transfer Basic Tests', () => {
|
||||||
let transactionContext, chaincodeStub;
|
let transactionContext, chaincodeStub, asset;
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
transactionContext = new Context();
|
transactionContext = new Context();
|
||||||
|
|
||||||
|
|
@ -42,7 +42,7 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
return Promise.resolve(key);
|
return Promise.resolve(key);
|
||||||
});
|
});
|
||||||
|
|
||||||
chaincodeStub.getStateByRange.callsFake(async (start, end) => {
|
chaincodeStub.getStateByRange.callsFake(async () => {
|
||||||
function* internalGetStateByRange() {
|
function* internalGetStateByRange() {
|
||||||
if (chaincodeStub.states) {
|
if (chaincodeStub.states) {
|
||||||
// Shallow copy
|
// Shallow copy
|
||||||
|
|
@ -56,9 +56,14 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
|
|
||||||
return Promise.resolve(internalGetStateByRange());
|
return Promise.resolve(internalGetStateByRange());
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(() => {
|
asset = {
|
||||||
|
ID: 'asset1',
|
||||||
|
Color: 'blue',
|
||||||
|
Size: 5,
|
||||||
|
Owner: 'Tomoko',
|
||||||
|
AppraisedValue: 300,
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Test InitLedger', () => {
|
describe('Test InitLedger', () => {
|
||||||
|
|
@ -76,8 +81,8 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
it('should return success on InitLedger', async () => {
|
it('should return success on InitLedger', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.InitLedger(transactionContext);
|
await assetTransfer.InitLedger(transactionContext);
|
||||||
let ret = JSON.parse((await chaincodeStub.getState('asset6')).toString());
|
let ret = JSON.parse((await chaincodeStub.getState('asset1')).toString());
|
||||||
expect(ret.ID).to.equal('asset6');
|
expect(ret).to.eql(Object.assign({docType: 'asset'}, asset));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -87,7 +92,7 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
|
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
try {
|
try {
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
assert.fail('CreateAsset should have failed');
|
assert.fail('CreateAsset should have failed');
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
expect(err.name).to.equal('failed inserting key');
|
expect(err.name).to.equal('failed inserting key');
|
||||||
|
|
@ -96,21 +101,18 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
|
|
||||||
it('should return success on CreateAsset', async () => {
|
it('should return success on CreateAsset', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
|
||||||
|
|
||||||
let ret = JSON.parse((await chaincodeStub.getState('asset1')).toString());
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
expect(ret.ID).to.equal('asset1');
|
|
||||||
expect(ret.Color).to.equal('blue');
|
let ret = JSON.parse((await chaincodeStub.getState(asset.ID)).toString());
|
||||||
expect(ret.Size).to.equal(5);
|
expect(ret).to.eql(asset);
|
||||||
expect(ret.Owner).to.equal('Tomoko');
|
|
||||||
expect(ret.AppraisedValue).to.equal(300);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Test ReadAsset', () => {
|
describe('Test ReadAsset', () => {
|
||||||
it('should return error on ReadAsset', async () => {
|
it('should return error on ReadAsset', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await assetTransfer.ReadAsset(transactionContext, 'asset2');
|
await assetTransfer.ReadAsset(transactionContext, 'asset2');
|
||||||
|
|
@ -122,17 +124,17 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
|
|
||||||
it('should return success on ReadAsset', async () => {
|
it('should return success on ReadAsset', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
|
|
||||||
let ret = JSON.parse(await chaincodeStub.getState('asset1'));
|
let ret = JSON.parse(await chaincodeStub.getState(asset.ID));
|
||||||
expect(ret.ID).to.equal('asset1');
|
expect(ret).to.eql(asset);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Test UpdateAsset', () => {
|
describe('Test UpdateAsset', () => {
|
||||||
it('should return error on UpdateAsset', async () => {
|
it('should return error on UpdateAsset', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await assetTransfer.UpdateAsset(transactionContext, 'asset2', 'orange', 10, 'Me', 500);
|
await assetTransfer.UpdateAsset(transactionContext, 'asset2', 'orange', 10, 'Me', 500);
|
||||||
|
|
@ -144,22 +146,25 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
|
|
||||||
it('should return success on UpdateAsset', async () => {
|
it('should return success on UpdateAsset', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
|
|
||||||
await assetTransfer.UpdateAsset(transactionContext, 'asset1', 'orange', 10, 'Me', 500);
|
await assetTransfer.UpdateAsset(transactionContext, 'asset1', 'orange', 10, 'Me', 500);
|
||||||
let ret = JSON.parse(await chaincodeStub.getState('asset1'));
|
let ret = JSON.parse(await chaincodeStub.getState(asset.ID));
|
||||||
expect(ret.ID).to.equal('asset1');
|
let expected = {
|
||||||
expect(ret.Color).to.equal('orange');
|
ID: 'asset1',
|
||||||
expect(ret.Size).to.equal(10);
|
Color: 'orange',
|
||||||
expect(ret.Owner).to.equal('Me');
|
Size: 10,
|
||||||
expect(ret.AppraisedValue).to.equal(500);
|
Owner: 'Me',
|
||||||
|
AppraisedValue: 500
|
||||||
|
};
|
||||||
|
expect(ret).to.eql(expected);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Test DeleteAsset', () => {
|
describe('Test DeleteAsset', () => {
|
||||||
it('should return error on DeleteAsset', async () => {
|
it('should return error on DeleteAsset', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await assetTransfer.DeleteAsset(transactionContext, 'asset2');
|
await assetTransfer.DeleteAsset(transactionContext, 'asset2');
|
||||||
|
|
@ -171,10 +176,10 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
|
|
||||||
it('should return success on DeleteAsset', async () => {
|
it('should return success on DeleteAsset', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
|
|
||||||
await assetTransfer.DeleteAsset(transactionContext, 'asset1');
|
await assetTransfer.DeleteAsset(transactionContext, asset.ID);
|
||||||
let ret = await chaincodeStub.getState('asset1');
|
let ret = await chaincodeStub.getState(asset.ID);
|
||||||
expect(ret).to.equal(undefined);
|
expect(ret).to.equal(undefined);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
@ -182,41 +187,30 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
describe('Test TransferAsset', () => {
|
describe('Test TransferAsset', () => {
|
||||||
it('should return error on TransferAsset', async () => {
|
it('should return error on TransferAsset', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await assetTransfer.TransferAsset(transactionContext, 'asset2', 'Me');
|
await assetTransfer.TransferAsset(transactionContext, 'asset2', 'Me');
|
||||||
assert.fail('DeleteAsset should have failed');
|
assert.fail('DeleteAsset should have failed');
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
assert.pass();
|
expect(err.message).to.equal('The asset asset2 does not exist');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return success on TransferAsset', async () => {
|
it('should return success on TransferAsset', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
await assetTransfer.CreateAsset(transactionContext, asset.ID, asset.Color, asset.Size, asset.Owner, asset.AppraisedValue);
|
||||||
|
|
||||||
await assetTransfer.TransferAsset(transactionContext, 'asset1', 'Me');
|
await assetTransfer.TransferAsset(transactionContext, asset.ID, 'Me');
|
||||||
let ret = JSON.parse((await chaincodeStub.getState('asset1')).toString());
|
let ret = JSON.parse((await chaincodeStub.getState(asset.ID)).toString());
|
||||||
expect(ret.Owner).to.equal('Me');
|
expect(ret).to.eql(Object.assign({}, asset, {Owner: 'Me'}));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Test GetAllAssets', () => {
|
describe('Test GetAllAssets', () => {
|
||||||
it('should return error for one key in GetAllAssets', async () => {
|
|
||||||
let assetTransfer = new AssetTransfer();
|
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Tomoko', 300);
|
|
||||||
|
|
||||||
try {
|
|
||||||
await assetTransfer.TransferAsset(transactionContext, 'asset7', 'Me');
|
|
||||||
assert.fail('DeleteAsset should have failed');
|
|
||||||
} catch (err) {
|
|
||||||
assert.pass();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should return success on GetAllAssets', async () => {
|
it('should return success on GetAllAssets', async () => {
|
||||||
let assetTransfer = new AssetTransfer();
|
let assetTransfer = new AssetTransfer();
|
||||||
|
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Robert', 100);
|
await assetTransfer.CreateAsset(transactionContext, 'asset1', 'blue', 5, 'Robert', 100);
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset2', 'orange', 10, 'Paul', 200);
|
await assetTransfer.CreateAsset(transactionContext, 'asset2', 'orange', 10, 'Paul', 200);
|
||||||
await assetTransfer.CreateAsset(transactionContext, 'asset3', 'red', 15, 'Troy', 300);
|
await assetTransfer.CreateAsset(transactionContext, 'asset3', 'red', 15, 'Troy', 300);
|
||||||
|
|
@ -225,6 +219,15 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
let ret = await assetTransfer.GetAllAssets(transactionContext);
|
let ret = await assetTransfer.GetAllAssets(transactionContext);
|
||||||
ret = JSON.parse(ret);
|
ret = JSON.parse(ret);
|
||||||
expect(ret.length).to.equal(4);
|
expect(ret.length).to.equal(4);
|
||||||
|
|
||||||
|
let expected = [
|
||||||
|
{Record: {ID: 'asset1', Color: 'blue', Size: 5, Owner: 'Robert', AppraisedValue: 100}},
|
||||||
|
{Record: {ID: 'asset2', Color: 'orange', Size: 10, Owner: 'Paul', AppraisedValue: 200}},
|
||||||
|
{Record: {ID: 'asset3', Color: 'red', Size: 15, Owner: 'Troy', AppraisedValue: 300}},
|
||||||
|
{Record: {ID: 'asset4', Color: 'pink', Size: 20, Owner: 'Van', AppraisedValue: 400}}
|
||||||
|
];
|
||||||
|
|
||||||
|
expect(ret).to.eql(expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return success on GetAllAssets for non JSON value', async () => {
|
it('should return success on GetAllAssets for non JSON value', async () => {
|
||||||
|
|
@ -245,7 +248,15 @@ describe('Asset Transfer Basic Tests', () => {
|
||||||
let ret = await assetTransfer.GetAllAssets(transactionContext);
|
let ret = await assetTransfer.GetAllAssets(transactionContext);
|
||||||
ret = JSON.parse(ret);
|
ret = JSON.parse(ret);
|
||||||
expect(ret.length).to.equal(4);
|
expect(ret.length).to.equal(4);
|
||||||
expect(ret[0].Record).to.equal('non-json-value');
|
|
||||||
|
let expected = [
|
||||||
|
{Record: 'non-json-value'},
|
||||||
|
{Record: {ID: 'asset2', Color: 'orange', Size: 10, Owner: 'Paul', AppraisedValue: 200}},
|
||||||
|
{Record: {ID: 'asset3', Color: 'red', Size: 15, Owner: 'Troy', AppraisedValue: 300}},
|
||||||
|
{Record: {ID: 'asset4', Color: 'pink', Size: 20, Owner: 'Van', AppraisedValue: 400}}
|
||||||
|
];
|
||||||
|
|
||||||
|
expect(ret).to.eql(expected);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
Loading…
Reference in a new issue