Skip to content

Commit e45edff

Browse files
committed
test(queryHelpers): added extra tests and edge cases
1 parent c75cceb commit e45edff

File tree

1 file changed

+63
-11
lines changed

1 file changed

+63
-11
lines changed

packages/fetchye/__tests__/queryHelpers.spec.js

Lines changed: 63 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,32 +19,46 @@ import {
1919
} from '../src/queryHelpers';
2020

2121
describe('isLoading', () => {
22-
it('should return false defer is true', () => {
22+
it('should return false if defer is true, and not already loading', () => {
2323
expect(isLoading({
24-
loading: false, data: undefined, options: { defer: true }, error: undefined, refs: {},
24+
loading: false,
25+
data: undefined,
26+
options: {
27+
defer: true,
28+
},
29+
error: undefined,
30+
refs: {},
2531
})).toEqual(false);
2632
});
2733

28-
it('should return true if loading cache true', () => {
34+
it('should return true if fetchye is loading', () => {
2935
expect(isLoading({
30-
loading: true, data: undefined, options: {}, error: undefined, refs: {},
36+
loading: true,
37+
data: undefined,
38+
options: {},
39+
error: undefined,
40+
refs: {},
3141
})).toEqual(true);
3242
});
3343

34-
it('should return true if all args are false', () => {
44+
it('should return true there is no data and no error and not defered', () => {
3545
expect(isLoading({
36-
loading: false, options: { defer: false }, error: undefined, refs: {},
46+
data: undefined,
47+
loading: false,
48+
options: {
49+
defer: false,
50+
},
51+
error: undefined,
52+
refs: {},
3753
})).toEqual(true);
3854
});
3955

40-
it('should return true if refs.forceInitialFetch === true', () => {
56+
it('should return true if forceInitialFetch is true, even if data exists', () => {
4157
expect(isLoading({
4258
loading: false,
43-
numOfRenders: 1,
4459
data: {},
4560
options: {
4661
defer: false,
47-
forceInitialFetch: true,
4862
},
4963
error: undefined,
5064
refs: {
@@ -53,15 +67,53 @@ describe('isLoading', () => {
5367
})).toEqual(true);
5468
});
5569

70+
it('should return false if forceInitialFetch is true, but call is defered', () => {
71+
expect(isLoading({
72+
loading: false,
73+
data: {},
74+
options: {
75+
defer: true,
76+
},
77+
error: undefined,
78+
refs: {
79+
forceInitialFetch: true,
80+
},
81+
})).toEqual(false);
82+
});
83+
84+
it('should return false if data is undefined and no error, but call is defered', () => {
85+
expect(isLoading({
86+
loading: false,
87+
data: undefined,
88+
options: {
89+
defer: true,
90+
},
91+
error: undefined,
92+
refs: {
93+
forceInitialFetch: false,
94+
},
95+
})).toEqual(false);
96+
});
97+
5698
it('should return false if there are errors present', () => {
5799
expect(isLoading({
58-
loading: false, options: { defer: false }, error: { }, refs: {},
100+
loading: false,
101+
options: {
102+
defer: false,
103+
},
104+
error: {},
105+
refs: {},
59106
})).toEqual(false);
60107
});
61108

62109
it('should return false if there is data present', () => {
63110
expect(isLoading({
64-
loading: false, data: { }, numOfRenders: 2, options: { defer: false }, refs: {},
111+
loading: false,
112+
data: { },
113+
options: {
114+
defer: false,
115+
},
116+
refs: {},
65117
})).toEqual(false);
66118
});
67119
});

0 commit comments

Comments
 (0)