@@ -15,6 +15,11 @@ describe("AdaptableController", ()=>{
1515 var adapter = new FilesAdapter ( ) ;
1616 var controller = new FilesController ( adapter ) ;
1717 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 ) ;
1823 done ( ) ;
1924 } ) ;
2025
@@ -26,6 +31,17 @@ describe("AdaptableController", ()=>{
2631 done ( ) ;
2732 } ) ;
2833
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+
2945 it ( "should fail to instantiate a controller with wrong adapter" , ( done ) => {
3046 function WrongAdapter ( ) { } ;
3147 var adapter = new WrongAdapter ( ) ;
@@ -41,4 +57,31 @@ describe("AdaptableController", ()=>{
4157 } ) . toThrow ( ) ;
4258 done ( ) ;
4359 } ) ;
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+ } ) ;
4487} ) ;
0 commit comments