@@ -5,14 +5,14 @@ const constants = require('./constants');
55var ExternalLocking4Reputation = artifacts . require ( "./ExternalLocking4Reputation.sol" ) ;
66var ExternalTokenLockerMock = artifacts . require ( "./ExternalTokenLockerMock.sol" ) ;
77
8- const setup = async function ( accounts , _repAllocation = 100 , _lockingStartTime = 0 , _lockingEndTime = 3000 , _redeemEnableTime = 3000 , _initialize = true ) {
8+ const setup = async function ( accounts , _repAllocation = 100 , _claimingStartTime = 0 , _claimingEndTime = 3000 , _redeemEnableTime = 3000 , _initialize = true ) {
99 var testSetup = new helpers . TestSetup ( ) ;
1010 var controllerCreator = await ControllerCreator . new ( { gas : constants . ARC_GAS_LIMIT } ) ;
1111 testSetup . daoCreator = await DaoCreator . new ( controllerCreator . address , { gas :constants . ARC_GAS_LIMIT } ) ;
1212 testSetup . org = await helpers . setupOrganization ( testSetup . daoCreator , accounts [ 0 ] , 1000 , 1000 ) ;
1313 var block = await web3 . eth . getBlock ( "latest" ) ;
14- testSetup . lockingEndTime = block . timestamp + _lockingEndTime ;
15- testSetup . lockingStartTime = block . timestamp + _lockingStartTime ;
14+ testSetup . lockingEndTime = block . timestamp + _claimingEndTime ;
15+ testSetup . lockingStartTime = block . timestamp + _claimingStartTime ;
1616 testSetup . redeemEnableTime = block . timestamp + _redeemEnableTime ;
1717 testSetup . extetnalTokenLockerMock = await ExternalTokenLockerMock . new ( ) ;
1818 await testSetup . extetnalTokenLockerMock . lock ( 100 , { from :accounts [ 0 ] } ) ;
@@ -46,9 +46,9 @@ contract('ExternalLocking4Reputation', accounts => {
4646 assert . equal ( await testSetup . externalLocking4Reputation . getBalanceFuncSignature ( ) , "lockedTokenBalances(address)" ) ;
4747 } ) ;
4848
49- it ( "lock " , async ( ) => {
49+ it ( "claim " , async ( ) => {
5050 let testSetup = await setup ( accounts ) ;
51- var tx = await testSetup . externalLocking4Reputation . lock ( ) ;
51+ var tx = await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
5252 var lockingId = await helpers . getValueFromLogs ( tx , '_lockingId' , 1 ) ;
5353 assert . equal ( tx . logs . length , 1 ) ;
5454 assert . equal ( tx . logs [ 0 ] . event , "Lock" ) ;
@@ -58,52 +58,79 @@ contract('ExternalLocking4Reputation', accounts => {
5858 assert . equal ( tx . logs [ 0 ] . args . _locker , accounts [ 0 ] ) ;
5959 } ) ;
6060
61- it ( "cannot lock before set parameters" , async ( ) => {
61+ it ( "claim on behalf of a beneficiary" , async ( ) => {
62+ let testSetup = await setup ( accounts ) ;
63+ var tx = await testSetup . externalLocking4Reputation . register ( { from :accounts [ 1 ] } ) ;
64+ assert . equal ( tx . logs . length , 1 ) ;
65+ assert . equal ( tx . logs [ 0 ] . event , "Register" ) ;
66+ assert . equal ( tx . logs [ 0 ] . args . _beneficiary , accounts [ 1 ] ) ;
67+ tx = await testSetup . externalLocking4Reputation . claim ( accounts [ 1 ] ) ;
68+ var lockingId = await helpers . getValueFromLogs ( tx , '_lockingId' , 1 ) ;
69+ assert . equal ( tx . logs . length , 1 ) ;
70+ assert . equal ( tx . logs [ 0 ] . event , "Lock" ) ;
71+ assert . equal ( tx . logs [ 0 ] . args . _lockingId , lockingId ) ;
72+ assert . equal ( tx . logs [ 0 ] . args . _amount , 200 ) ;
73+ assert . equal ( tx . logs [ 0 ] . args . _period , 1 ) ;
74+ assert . equal ( tx . logs [ 0 ] . args . _locker , accounts [ 1 ] ) ;
75+ } ) ;
76+
77+ it ( "cannot claim on behalf of a beneficiary if not register" , async ( ) => {
78+ let testSetup = await setup ( accounts ) ;
79+ try {
80+ await testSetup . externalLocking4Reputation . claim ( accounts [ 1 ] ) ;
81+ assert ( false , "cannot claim on behalf of a beneficiary if not register" ) ;
82+ } catch ( error ) {
83+ helpers . assertVMException ( error ) ;
84+ }
85+ } ) ;
86+
87+
88+ it ( "cannot claim before set parameters" , async ( ) => {
6289 let testSetup = await setup ( accounts , 100 , 0 , 3000 , 3000 , false ) ;
6390 try {
64- await testSetup . externalLocking4Reputation . lock ( ) ;
91+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
6592 assert ( false , "cannot lock before set parameters" ) ;
6693 } catch ( error ) {
6794 helpers . assertVMException ( error ) ;
6895 }
6996 } ) ;
7097
71- it ( "lock with value == 0 should revert" , async ( ) => {
98+ it ( "claim with value == 0 should revert" , async ( ) => {
7299 let testSetup = await setup ( accounts ) ;
73100 try {
74- await testSetup . externalLocking4Reputation . lock ( { from :accounts [ 4 ] } ) ;
101+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS , { from :accounts [ 4 ] } ) ;
75102 assert ( false , "lock with value == 0 should revert" ) ;
76103 } catch ( error ) {
77104 helpers . assertVMException ( error ) ;
78105 }
79106 } ) ;
80107
81- it ( "lock after _lockingEndTime should revert" , async ( ) => {
108+ it ( "claim after _claimingEndTime should revert" , async ( ) => {
82109 let testSetup = await setup ( accounts ) ;
83110 await helpers . increaseTime ( 3001 ) ;
84111 try {
85- await testSetup . externalLocking4Reputation . lock ( ) ;
86- assert ( false , "lock after _lockingEndTime should revert" ) ;
112+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
113+ assert ( false , "lock after _claimingEndTime should revert" ) ;
87114 } catch ( error ) {
88115 helpers . assertVMException ( error ) ;
89116 }
90117 } ) ;
91118
92- it ( "lock before start should revert" , async ( ) => {
119+ it ( "claim before start should revert" , async ( ) => {
93120 let testSetup = await setup ( accounts , 100 , 100 ) ;
94121 try {
95- await testSetup . externalLocking4Reputation . lock ( ) ;
122+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
96123 assert ( false , "lock before start should revert" ) ;
97124 } catch ( error ) {
98125 helpers . assertVMException ( error ) ;
99126 }
100127 } ) ;
101128
102- it ( "cannot lock twice for the same user" , async ( ) => {
129+ it ( "cannot claim twice for the same user" , async ( ) => {
103130 let testSetup = await setup ( accounts ) ;
104- await testSetup . externalLocking4Reputation . lock ( ) ;
131+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
105132 try {
106- await testSetup . externalLocking4Reputation . lock ( ) ;
133+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
107134 assert ( false , "cannot lock twice for the same user" ) ;
108135 } catch ( error ) {
109136 helpers . assertVMException ( error ) ;
@@ -112,7 +139,7 @@ contract('ExternalLocking4Reputation', accounts => {
112139
113140 it ( "redeem" , async ( ) => {
114141 let testSetup = await setup ( accounts ) ;
115- var tx = await testSetup . externalLocking4Reputation . lock ( ) ;
142+ var tx = await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
116143 await helpers . increaseTime ( 3001 ) ;
117144 tx = await testSetup . externalLocking4Reputation . redeem ( accounts [ 0 ] ) ;
118145 assert . equal ( tx . logs . length , 1 ) ;
@@ -124,8 +151,8 @@ contract('ExternalLocking4Reputation', accounts => {
124151
125152 it ( "redeem score " , async ( ) => {
126153 let testSetup = await setup ( accounts ) ;
127- await testSetup . externalLocking4Reputation . lock ( { from :accounts [ 0 ] } ) ;
128- await testSetup . externalLocking4Reputation . lock ( { from :accounts [ 2 ] } ) ;
154+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS , { from :accounts [ 0 ] } ) ;
155+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS , { from :accounts [ 2 ] } ) ;
129156 await helpers . increaseTime ( 3001 ) ;
130157 await testSetup . externalLocking4Reputation . redeem ( accounts [ 0 ] ) ;
131158 await testSetup . externalLocking4Reputation . redeem ( accounts [ 2 ] ) ;
@@ -135,7 +162,7 @@ contract('ExternalLocking4Reputation', accounts => {
135162
136163 it ( "redeem cannot redeem twice" , async ( ) => {
137164 let testSetup = await setup ( accounts ) ;
138- await testSetup . externalLocking4Reputation . lock ( ) ;
165+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
139166 await helpers . increaseTime ( 3001 ) ;
140167 await testSetup . externalLocking4Reputation . redeem ( accounts [ 0 ] ) ;
141168 try {
@@ -148,7 +175,7 @@ contract('ExternalLocking4Reputation', accounts => {
148175
149176 it ( "redeem before lockingEndTime should revert" , async ( ) => {
150177 let testSetup = await setup ( accounts ) ;
151- await testSetup . externalLocking4Reputation . lock ( ) ;
178+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
152179 await helpers . increaseTime ( 50 ) ;
153180 try {
154181 await testSetup . externalLocking4Reputation . redeem ( accounts [ 0 ] ) ;
@@ -160,7 +187,7 @@ contract('ExternalLocking4Reputation', accounts => {
160187
161188 it ( "redeem before redeemEnableTime should revert" , async ( ) => {
162189 let testSetup = await setup ( accounts , 100 , 0 , 3000 , 4000 , true ) ;
163- await testSetup . externalLocking4Reputation . lock ( ) ;
190+ await testSetup . externalLocking4Reputation . claim ( helpers . NULL_ADDRESS ) ;
164191 await helpers . increaseTime ( 3500 ) ;
165192 try {
166193 await testSetup . externalLocking4Reputation . redeem ( accounts [ 0 ] ) ;
0 commit comments