Address needed change to transaction resume, fix tests
This commit is contained in:
parent
1c480d21a6
commit
22b92aca61
3 changed files with 27 additions and 15 deletions
|
|
@ -8,13 +8,19 @@ angular.module('copayApp.controllers').controller('SendController',
|
|||
var satToUnit = 1 / config.unitToSatoshi;
|
||||
$scope.defaultFee = bitcore.TransactionBuilder.FEE_PER_1000B_SAT * satToUnit;
|
||||
$scope.unitToBtc = config.unitToSatoshi / bitcore.util.COIN;
|
||||
$scope.unitToSatoshi = config.unitToSatoshi;
|
||||
$scope.minAmount = config.limits.minAmountSatoshi * satToUnit;
|
||||
|
||||
this.alternativeName = config.alternativeName;
|
||||
this.alternativeIsoCode = config.alternativeIsoCode;
|
||||
this.rateService = rateService;
|
||||
$scope.alternativeName = config.alternativeName;
|
||||
$scope.alternativeIsoCode = config.alternativeIsoCode;
|
||||
|
||||
$scope.amount = 0;
|
||||
$scope.isRateAvailable = false;
|
||||
$scope.rateService = rateService;
|
||||
|
||||
rateService.whenAvailable(function() {
|
||||
$scope.isRateAvailable = true;
|
||||
$scope.$digest();
|
||||
});
|
||||
|
||||
/**
|
||||
* Setting the two related amounts as properties prevents an infinite
|
||||
|
|
@ -26,12 +32,13 @@ angular.module('copayApp.controllers').controller('SendController',
|
|||
return this._alternative;
|
||||
},
|
||||
set: function (newValue) {
|
||||
newValue = -(-newValue) || 0;
|
||||
this._alternative = newValue;
|
||||
if (typeof(newValue) === 'number') {
|
||||
if ($scope.isRateAvailable) {
|
||||
this._amount = Number.parseFloat(
|
||||
(rateService.fromFiat(newValue, config.alternativeIsoCode) * satToUnit
|
||||
).toFixed(config.unitDecimals), 10);
|
||||
}
|
||||
};
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
|
|
@ -42,12 +49,13 @@ angular.module('copayApp.controllers').controller('SendController',
|
|||
return this._amount;
|
||||
},
|
||||
set: function (newValue) {
|
||||
newValue = -(-newValue) || 0;
|
||||
this._amount = newValue;
|
||||
if (newValue) {
|
||||
if ($scope.isRateAvailable) {
|
||||
this._alternative = Number.parseFloat(
|
||||
(rateService.toFiat(newValue * config.unitToSatoshi, config.alternativeIsoCode)
|
||||
).toFixed(2), 10);
|
||||
}
|
||||
};
|
||||
},
|
||||
enumerable: true,
|
||||
configurable: true
|
||||
|
|
|
|||
|
|
@ -135,8 +135,9 @@ describe("Unit: Controllers", function() {
|
|||
}
|
||||
});
|
||||
}));
|
||||
beforeEach(angular.mock.inject(function($compile, $rootScope, $controller) {
|
||||
beforeEach(angular.mock.inject(function($compile, $rootScope, $controller, rateService) {
|
||||
scope = $rootScope.$new();
|
||||
scope.rateService = rateService;
|
||||
$rootScope.wallet = new FakeWallet(walletConfig);
|
||||
config.alternativeName = 'lol currency';
|
||||
config.alternativeIsoCode = 'LOL';
|
||||
|
|
@ -254,7 +255,7 @@ describe("Unit: Controllers", function() {
|
|||
});
|
||||
|
||||
it('should convert bits amount to fiat', function(done) {
|
||||
sendCtrl.rateService.whenAvailable(function() {
|
||||
scope.rateService.whenAvailable(function() {
|
||||
sendForm.amount.$setViewValue(1e6);
|
||||
scope.$digest();
|
||||
expect(scope.alternative).to.equal(2);
|
||||
|
|
@ -262,7 +263,7 @@ describe("Unit: Controllers", function() {
|
|||
});
|
||||
});
|
||||
it('should convert fiat to bits amount', function(done) {
|
||||
sendCtrl.rateService.whenAvailable(function() {
|
||||
scope.rateService.whenAvailable(function() {
|
||||
sendForm.alternative.$setViewValue(2);
|
||||
scope.$digest();
|
||||
expect(scope.amount).to.equal(1e6);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="send" data-ng-controller="SendController as ctrl" data-ng-init="loadTxs()">
|
||||
<div class="send" data-ng-controller="SendController" data-ng-init="loadTxs()">
|
||||
<div ng-show='$root.wallet.isReady()'>
|
||||
|
||||
<h1 ng-show="txs.length != 0">Send Proposals</h1>
|
||||
|
|
@ -85,17 +85,17 @@
|
|||
</div>
|
||||
<div class="large-6 medium-6 columns">
|
||||
<div class="row collapse">
|
||||
<label for="alternative">Amount in {{ ctrl.alternativeName }} </label>
|
||||
<label for="alternative">Amount in {{ alternativeName }} </label>
|
||||
<div class="small-9 columns">
|
||||
<input type="number" id="alternative_amount"
|
||||
ng-disabled="loading || !ctrl.rateService.isAvailable "
|
||||
ng-disabled="loading || !isRateAvailable "
|
||||
name="alternative" placeholder="Amount" ng-model="alternative"
|
||||
enough-amount required
|
||||
autocomplete="off"
|
||||
>
|
||||
</div>
|
||||
<div class="small-3 columns">
|
||||
<span class="postfix">{{ctrl.alternativeIsoCode}}</span>
|
||||
<span class="postfix">{{alternativeIsoCode}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -135,6 +135,9 @@
|
|||
<h6>Total amount for this transaction:</h6>
|
||||
<p class="text-gray" ng-class="{'hidden': sendForm.amount.$invalid || !amount > 0}">
|
||||
<b>{{amount + defaultFee |noFractionNumber}}</b> {{$root.unitName}}
|
||||
<small ng-if="isRateAvailable">
|
||||
{{ rateService.toFiat((amount + defaultFee) * unitToSatoshi, alternativeIsoCode) | noFractionNumber: 2 }} {{ alternativeIsoCode }}
|
||||
</small>
|
||||
<small>
|
||||
{{ ((amount + defaultFee) * unitToBtc)|noFractionNumber:8}} BTC <br/>
|
||||
Including fee of {{defaultFee|noFractionNumber}} {{$root.unitName}}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue