@@ -889,32 +889,85 @@ function BatchExecuteQueryTests(providerConfig, msg) {
889889 } ) ;
890890 } ) ;
891891
892- //test("toLiveArray", 5, function () {
893- // stop();
892+ test ( 'batch req error test' , 1 , function ( ) {
893+ if ( providerConfig . name !== 'oData' ) { expect ( 1 ) ; ok ( true , 'not supported' ) ; return ; }
894+ stop ( ) ;
894895
895- // (new $news.Types.NewsContext(providerConfig)).onReady(function (context) {
896- // $news.Types.NewsContext.generateTestData(context, function () {
896+ ( new $news . Types . NewsContext ( providerConfig ) ) . onReady ( function ( context ) {
897+ $news . Types . NewsContext . generateTestData ( context , function ( ) {
898+ context . prepareRequest = function ( request ) {
899+ request [ 0 ] . data . __batchRequests [ 2 ] . requestUri = request [ 0 ] . data . __batchRequests [ 2 ] . requestUri . replace ( 'Title' , 'Title2' ) ;
900+ } ;
897901
898- // var result = context.Articles.toLiveArray();
899- // result.then(function (r) {
900- // equal(result.length, 26, 'result is not empty');
901- // ok(result === r, 'result is equal with promise result');
902+ context . batchExecuteQuery ( [
903+ [ context . Articles ] ,
904+ { queryable : context . Articles . take ( 5 ) } ,
905+ { queryable : context . Categories . filter ( "it.Title != null" ) , method : "first" } ,
906+ [ context . Categories , "count" ]
907+ ] )
908+ . fail ( function ( err ) {
909+ ok ( true , 'Request error' ) ;
910+ } )
911+ . always ( function ( err ) {
902912
903- // result.length = 5;
904- // equal(result.length, 5, 'result is changed');
913+ _finishCb ( context ) ;
914+ } ) ;
915+ } ) ;
916+ } ) ;
917+ } ) ;
905918
906- // result.refresh();
907- // result.then(function () {
908- // equal(result.length, 26, 'result is not empty 2');
909- // }).then(function () {
910- // equal(result.length, 26, 'result is not empty 3');
919+ test ( 'batch result error test' , 1 , function ( ) {
920+ if ( providerConfig . name !== 'oData' ) { expect ( 1 ) ; ok ( true , 'not supported' ) ; return ; }
921+ stop ( ) ;
911922
912- // _finishCb(context);
913- // });
914- // });
915- // });
916- // });
917- //});
923+ ( new $news . Types . NewsContext ( providerConfig ) ) . onReady ( function ( context ) {
924+ $news . Types . NewsContext . generateTestData ( context , function ( ) {
918925
926+ context . prepareRequest = function ( request ) {
927+ var origSuccess = request [ 1 ] ;
928+ request [ 1 ] = function ( data ) {
929+ data . __batchResponses = [ ] ;
930+ origSuccess . apply ( this , arguments ) ;
931+ }
919932
933+ } ;
934+
935+ context . batchExecuteQuery ( [
936+ [ context . Articles ] ,
937+ { queryable : context . Articles . take ( 5 ) } ,
938+ { queryable : context . Categories , method : "first" } ,
939+ [ context . Categories , "count" ]
940+ ] )
941+ . fail ( function ( err ) {
942+ equal ( err . message , "Batch response count failed" , 'Request error' ) ;
943+ } )
944+ . always ( function ( err ) {
945+
946+ _finishCb ( context ) ;
947+ } ) ;
948+ } ) ;
949+ } ) ;
950+ } ) ;
951+
952+ test ( 'batch result item error test' , 1 , function ( ) {
953+ stop ( ) ;
954+
955+ ( new $news . Types . NewsContext ( providerConfig ) ) . onReady ( function ( context ) {
956+ $news . Types . NewsContext . generateTestData ( context , function ( ) {
957+ context . batchExecuteQuery ( [
958+ [ context . Articles ] ,
959+ { queryable : context . Articles . take ( 5 ) } ,
960+ { queryable : context . Categories . filter ( "it.Title == 'invalid category value'" ) , method : "single" } ,
961+ [ context . Categories , "count" ]
962+ ] )
963+ . fail ( function ( err ) {
964+ equal ( err . message , "result count failed" , 'Result error' ) ;
965+ } )
966+ . always ( function ( err ) {
967+
968+ _finishCb ( context ) ;
969+ } ) ;
970+ } ) ;
971+ } ) ;
972+ } ) ;
920973}
0 commit comments