-
Notifications
You must be signed in to change notification settings - Fork 9.3k
/
cc-form.test.js
88 lines (77 loc) · 2.96 KB
/
cc-form.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
/* eslint-disable max-nested-callbacks */
define([
'jquery',
'squire',
'ko',
'Magento_Ui/js/model/messages'
], function ($, Squire, ko, Messages) {
'use strict';
describe('Magento_Braintree/js/view/payment/method-renderer/cc-form', function () {
var injector = new Squire(),
mocks = {
'Magento_Checkout/js/model/quote': {
billingAddress: ko.observable(),
shippingAddress: ko.observable(),
paymentMethod: ko.observable(),
totals: ko.observable({})
},
'Magento_Braintree/js/view/payment/validator-handler': jasmine.createSpyObj(
'validator-handler',
['initialize']
),
'Magento_Braintree/js/view/payment/adapter': jasmine.createSpyObj(
'adapter',
['setup', 'setConfig', 'showError']
)
},
braintreeCcForm;
beforeAll(function (done) {
window.checkoutConfig = {
quoteData: {},
payment: {
braintree: {
hasFraudProtection: true
}
}
};
injector.mock(mocks);
injector.require(['Magento_Braintree/js/view/payment/method-renderer/cc-form'], function (Constr) {
braintreeCcForm = new Constr({
provider: 'provName',
name: 'test',
index: 'test',
item: {
title: 'Braintree'
}
});
done();
});
});
it('Check if payment code and message container are restored after onActiveChange call.', function () {
var expectedMessageContainer = braintreeCcForm.messageContainer,
expectedCode = braintreeCcForm.code;
braintreeCcForm.code = 'braintree-vault';
braintreeCcForm.messageContainer = new Messages();
braintreeCcForm.onActiveChange(true);
expect(braintreeCcForm.getCode()).toEqual(expectedCode);
expect(braintreeCcForm.messageContainer).toEqual(expectedMessageContainer);
});
it('Check if form validation fails when "Place Order" button should be active.', function () {
var errorMessage = 'Something went wrong.',
/**
* Anonymous wrapper
*/
func = function () {
braintreeCcForm.clientConfig.onError({
'message': errorMessage
});
};
expect(func).toThrow(errorMessage);
expect(braintreeCcForm.isPlaceOrderActionAllowed()).toBeTruthy();
});
});
});