@@ -15,6 +15,11 @@ describe("AdaptableController", ()=>{
15
15
var adapter = new FilesAdapter ( ) ;
16
16
var controller = new FilesController ( adapter ) ;
17
17
expect ( controller . adapter ) . toBe ( adapter ) ;
18
+ // make sure _adapter is private
19
+ expect ( controller . _adapter ) . toBe ( undefined ) ;
20
+ // Override _adapter is not doing anything
21
+ controller . _adapter = "Hello" ;
22
+ expect ( controller . adapter ) . toBe ( adapter ) ;
18
23
done ( ) ;
19
24
} ) ;
20
25
@@ -26,6 +31,17 @@ describe("AdaptableController", ()=>{
26
31
done ( ) ;
27
32
} ) ;
28
33
34
+ it ( "should fail setting the wrong adapter to the controller" , ( done ) => {
35
+ function WrongAdapter ( ) { } ;
36
+ var adapter = new FilesAdapter ( ) ;
37
+ var controller = new FilesController ( adapter ) ;
38
+ var otherAdapter = new WrongAdapter ( ) ;
39
+ expect ( ( ) => {
40
+ controller . adapter = otherAdapter ;
41
+ } ) . toThrow ( ) ;
42
+ done ( ) ;
43
+ } ) ;
44
+
29
45
it ( "should fail to instantiate a controller with wrong adapter" , ( done ) => {
30
46
function WrongAdapter ( ) { } ;
31
47
var adapter = new WrongAdapter ( ) ;
@@ -41,4 +57,31 @@ describe("AdaptableController", ()=>{
41
57
} ) . toThrow ( ) ;
42
58
done ( ) ;
43
59
} ) ;
60
+
61
+ it ( "should accept an object adapter" , ( done ) => {
62
+ var adapter = {
63
+ createFile : function ( config , filename , data ) { } ,
64
+ deleteFile : function ( config , filename ) { } ,
65
+ getFileData : function ( config , filename ) { } ,
66
+ getFileLocation : function ( config , filename ) { } ,
67
+ }
68
+ expect ( ( ) => {
69
+ new FilesController ( adapter ) ;
70
+ } ) . not . toThrow ( ) ;
71
+ done ( ) ;
72
+ } ) ;
73
+
74
+ it ( "should accept an object adapter" , ( done ) => {
75
+ function AGoodAdapter ( ) { } ;
76
+ AGoodAdapter . prototype . createFile = function ( config , filename , data ) { } ;
77
+ AGoodAdapter . prototype . deleteFile = function ( config , filename ) { } ;
78
+ AGoodAdapter . prototype . getFileData = function ( config , filename ) { } ;
79
+ AGoodAdapter . prototype . getFileLocation = function ( config , filename ) { } ;
80
+
81
+ var adapter = new AGoodAdapter ( ) ;
82
+ expect ( ( ) => {
83
+ new FilesController ( adapter ) ;
84
+ } ) . not . toThrow ( ) ;
85
+ done ( ) ;
86
+ } ) ;
44
87
} ) ;
0 commit comments