1
+ import { BaseControllerHost } from "@mendix/widget-plugin-mobx-kit/BaseControllerHost" ;
1
2
import { GateProvider } from "@mendix/widget-plugin-mobx-kit/GateProvider" ;
2
- import { ReactiveControllerHost } from "@mendix/widget-plugin-mobx-kit/main" ;
3
+ // import { ReactiveControllerHost } from "@mendix/widget-plugin-mobx-kit/main";
3
4
import { list } from "@mendix/widget-plugin-test-utils" ;
4
5
import { ListValue } from "mendix" ;
5
6
import { DatasourceController } from "../query/DatasourceController" ;
6
7
8
+ class TestControllerHost extends BaseControllerHost { }
9
+
7
10
describe ( "DatasourceController loading states" , ( ) => {
8
11
let controller : DatasourceController ;
9
12
let datasource : ListValue ;
10
13
let provider : GateProvider < { datasource : ListValue } > ;
11
14
12
15
beforeEach ( ( ) => {
13
- const host = { addController : jest . fn ( ) } as unknown as ReactiveControllerHost ;
16
+ const host = new TestControllerHost ( ) ;
14
17
provider = new GateProvider ( { datasource : list . loading ( ) } ) ;
18
+ host . setup ( ) ;
15
19
controller = new DatasourceController ( host , { gate : provider . gate } ) ;
16
20
} ) ;
17
21
@@ -34,12 +38,13 @@ describe("DatasourceController loading states", () => {
34
38
it ( "isRefreshing is true after refresh call" , ( ) => {
35
39
provider . setProps ( { datasource : list ( 0 ) } ) ;
36
40
expect ( provider . gate . props . datasource . status ) . toBe ( "available" ) ;
41
+ controller . setup ( ) ;
37
42
controller . refresh ( ) ;
38
43
expect ( controller . isRefreshing ) . toBe ( true ) ;
39
44
provider . setProps ( { datasource : list . loading ( ) } ) ;
40
45
expect ( provider . gate . props . datasource . status ) . toBe ( "loading" ) ;
41
46
expect ( controller . isRefreshing ) . toBe ( true ) ;
42
- expect ( controller . isFirstLoad ) . toBe ( true ) ;
47
+ expect ( controller . isFirstLoad ) . toBe ( false ) ;
43
48
} ) ;
44
49
45
50
it ( "isFetchingNextBatch returns true after setLimit call" , ( ) => {
@@ -55,7 +60,7 @@ describe("DatasourceController loading states", () => {
55
60
provider . setProps ( { datasource } ) ;
56
61
} ) ;
57
62
58
- it ( "all loading states return false" , ( ) => {
63
+ it ( "isFirstLoad returns true and loading states return false" , ( ) => {
59
64
expect ( controller . isFirstLoad ) . toBe ( true ) ;
60
65
expect ( controller . isRefreshing ) . toBe ( false ) ;
61
66
expect ( controller . isFetchingNextBatch ) . toBe ( false ) ;
0 commit comments