Skip to content

Commit bb60493

Browse files
author
Mohan Ahuja
committed
ACP2E-98: Customer with global account sharing has to login again in the secondary website when guest checkout is disabled
- Updated jasmine test for customer-global-session-loader.js file
1 parent 06c7f08 commit bb60493

File tree

1 file changed

+24
-29
lines changed

1 file changed

+24
-29
lines changed

dev/tests/js/jasmine/tests/app/code/Magento/Customer/frontend/js/customer-global-session-loader.test.js

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,26 @@ define([
1111
'use strict';
1212

1313
describe('Magento_Customer/js/customer-global-session-loader', function () {
14-
var injector = new Squire(),
14+
var injector,
1515
customer = ko.observable({}),
1616
mocks = {
1717
'Magento_Customer/js/customer-data': {
1818
get: jasmine.createSpy('get', function () {
1919
return customer;
2020
}).and.callThrough(),
21-
reload: jasmine.createSpy(),
21+
reload: jasmine.createSpy('reload'),
2222
getInitCustomerData: function () {}
2323
}
2424
},
2525
deferred,
2626
customerSessionLoader;
2727

28-
beforeEach(function (done) {
28+
beforeAll(function () {
2929
$('body').append('<div id="customerMenu" class="customer-menu">Customer Menu</div>');
30+
});
31+
32+
beforeEach(function (done) {
33+
injector = new Squire();
3034
injector.mock(mocks);
3135
injector.require(['Magento_Customer/js/customer-global-session-loader'], function (instance) {
3236
customerSessionLoader = instance;
@@ -38,27 +42,20 @@ define([
3842
try {
3943
injector.clean();
4044
injector.remove();
41-
} catch (e) {}
45+
injector = null;
46+
} catch (e) {
47+
console.log(e);
48+
}
4249

4350
customer({});
51+
});
52+
53+
afterAll(function() {
4454
$('#customerMenu').remove();
4555
});
4656

4757
describe('Check customer data preparation process', function () {
48-
it('Tests that customer data is NOT checked before initialization', function () {
49-
spyOn(mocks['Magento_Customer/js/customer-data'], 'getInitCustomerData').and.callFake(function () {
50-
deferred = $.Deferred();
51-
52-
return deferred.promise();
53-
});
54-
expect(customerSessionLoader()).toBe(undefined);
55-
56-
expect(mocks['Magento_Customer/js/customer-data'].get).toHaveBeenCalledWith('customer');
57-
expect(mocks['Magento_Customer/js/customer-data'].getInitCustomerData).toHaveBeenCalled();
58-
expect(mocks['Magento_Customer/js/customer-data'].reload).not.toHaveBeenCalled();
59-
});
60-
61-
it('Tests that customer data reloads if customer first name is not there', function () {
58+
it('Tests that customer data does not reloads if it has first name defined', function () {
6259
spyOn(mocks['Magento_Customer/js/customer-data'], 'getInitCustomerData').and.callFake(function () {
6360
deferred = $.Deferred();
6461

@@ -67,22 +64,22 @@ define([
6764
return deferred.promise();
6865
});
6966
customer({
70-
_data: null
67+
firstname: "First Name"
7168
});
7269
customerSessionLoader();
7370

7471
expect(mocks['Magento_Customer/js/customer-data'].get).toHaveBeenCalledWith('customer');
75-
expect(mocks['Magento_Customer/js/customer-data'].reload).toHaveBeenCalledWith([], false);
72+
expect(mocks['Magento_Customer/js/customer-data'].reload).not.toHaveBeenCalled();
7673
});
7774

78-
it('Tests that customer data is checked only after initialization', function () {
75+
it('Tests that customer data reloads if customer first name data is not there but wait until promise resolved', function () {
7976
spyOn(mocks['Magento_Customer/js/customer-data'], 'getInitCustomerData').and.callFake(function () {
8077
deferred = $.Deferred();
8178

8279
return deferred.promise();
8380
});
8481
customer({
85-
firstname: "First Name"
82+
_data: null
8683
});
8784
customerSessionLoader();
8885

@@ -94,21 +91,19 @@ define([
9491
expect(mocks['Magento_Customer/js/customer-data'].reload).toHaveBeenCalledWith([], false);
9592
});
9693

97-
it('Tests that customer data does not reloads if it has first name defined', function () {
94+
it('Tests that customer data reloads if customer data is not there', function () {
9895
spyOn(mocks['Magento_Customer/js/customer-data'], 'getInitCustomerData').and.callFake(function () {
9996
deferred = $.Deferred();
10097

101-
deferred.resolve();
98+
deferred.resolve();
10299

103100
return deferred.promise();
104101
});
105-
customer({
106-
firstname: "First Name"
107-
});
108-
customerSessionLoader();
102+
expect(customerSessionLoader()).toBe(undefined);
109103

110104
expect(mocks['Magento_Customer/js/customer-data'].get).toHaveBeenCalledWith('customer');
111-
expect(mocks['Magento_Customer/js/customer-data'].reload).not.toHaveBeenCalled();
105+
expect(mocks['Magento_Customer/js/customer-data'].getInitCustomerData).toHaveBeenCalled();
106+
expect(mocks['Magento_Customer/js/customer-data'].reload).toHaveBeenCalledWith([], false);
112107
});
113108
});
114109
});

0 commit comments

Comments
 (0)