public void ChangeRewardReceiver_WhenInvalidReceiver_ThrowsException() { var task = this.CreateTask(null); var action = new ChnageTaskRewardReceiverAction(string.Empty, task.Address, task.Address); Assert.Throws <UnallowedRewardReceiverException>(() => this.permissionManager.ExecuteAction(action)); }
public void ChangeRewardReceiver() { var receiver = this.addressFactory.Create(); var task = this.CreateTask(null); var action = new ChnageTaskRewardReceiverAction(string.Empty, task.Address, receiver); this.permissionManager.ExecuteAction(action); Assert.Equal(receiver, task.TokenReceiver); }
private bool HandleRewardReceiverChange(ChnageTaskRewardReceiverAction action) { if (action.RewardReceiver.CompareTo(action.Target) == 0) { throw new UnallowedRewardReceiverException(this, action.RewardReceiver); } this.TokenReceiver = action.RewardReceiver; return(true); }
private bool HandleAddTask(AddTaskAction action) { Task task = action.Task; if (task.TokenReceiver.CompareTo(this.DefaultTokenSplitter) != 0) { var changeReceiverAction = new ChnageTaskRewardReceiverAction( string.Empty, task.Address, this.DefaultTokenSplitter); this.OnSend(changeReceiverAction); } // maybe should also remove contract from registry return(this.tasksAddresses.Add(action.Task.Address)); }