@@ -7,6 +7,7 @@ import {NgsgSelectionService} from './mutliselect/ngsg-selection.service';
77import { NgsgReflectService } from './sort/reflection/ngsg-reflect.service' ;
88import { NgsgStoreService } from './store/ngsg-store.service' ;
99import { NgsgEventsService } from './shared/ngsg-events.service' ;
10+ import { NgsgOrderChange } from './shared/ngsg-order-change.model' ;
1011
1112describe ( 'NgsgItemDirective' , ( ) => {
1213 let sut : NgsgItemDirective ;
@@ -24,7 +25,8 @@ describe('NgsgItemDirective', () => {
2425 'resetSelectedItems' ,
2526 'hasGroup' ,
2627 'hasItems' ,
27- 'setItems'
28+ 'setItems' ,
29+ 'getItems'
2830 ] ) ;
2931 const ngsgEventService = new NgsgEventsService ( ) ;
3032 const scrollHelperService = {
@@ -116,6 +118,7 @@ describe('NgsgItemDirective', () => {
116118
117119 it ( 'should sort if the group contains selectedItems' , ( ) => {
118120 ngsgStore . hasSelectedItems . and . returnValue ( true ) ;
121+ ngsgStore . getItems . and . returnValue ( [ ] ) ;
119122 ngsgStore . hasItems . and . returnValue ( true ) ;
120123 sut . drop ( ) ;
121124 expect ( ngsgSortService . endSort ) . toHaveBeenCalled ( ) ;
@@ -125,34 +128,41 @@ describe('NgsgItemDirective', () => {
125128 const group = 'test-group' ;
126129 sut . ngSortGridGroup = group ;
127130 ngsgStore . hasSelectedItems . and . returnValue ( true ) ;
131+ ngsgStore . getItems . and . returnValue ( [ ] ) ;
128132
129133 sut . drop ( ) ;
130134 expect ( ngsgReflectService . reflectChanges ) . toHaveBeenCalledWith ( group , elementRef . nativeElement ) ;
131135 } ) ;
132136
133- it ( 'should get the reflected changes from the reflection service and emit them ' , done => {
137+ it ( 'should emit a OrderChange containing the previous item order and the new itemorder ' , done => {
134138 const group = 'test-group' ;
135- const reflectedChanges = [ 'item two' , 'item one' , 'item three' ] ;
139+ const currentItemOrder = [ 'item one' , 'item two' , 'item three' ] ;
140+ const newItemOrder = [ 'item two' , 'item one' , 'item three' ] ;
141+ const expectedOrderChange : NgsgOrderChange < string > = { previousOrder : currentItemOrder , currentOrder : newItemOrder } ;
136142
137143 ngsgStore . hasSelectedItems . and . returnValue ( true ) ;
138144 ngsgStore . hasItems . and . returnValue ( true ) ;
139- ngsgReflectService . reflectChanges . and . returnValue ( reflectedChanges ) ;
145+ ngsgStore . getItems . and . returnValue ( currentItemOrder ) ;
146+ ngsgReflectService . reflectChanges . and . returnValue ( newItemOrder ) ;
140147 sut . ngSortGridGroup = group ;
141148
142- sut . sorted . subscribe ( changes => {
143- expect ( reflectedChanges ) . toEqual ( changes ) ;
149+ sut . sorted . subscribe ( ( orderChange : NgsgOrderChange < string > ) => {
150+ expect ( orderChange ) . toEqual ( expectedOrderChange ) ;
144151 done ( ) ;
145152 } ) ;
146153 sut . drop ( ) ;
147- expect ( ngsgReflectService . reflectChanges ) . toHaveBeenCalledWith ( group , elementRef . nativeElement ) ;
148154 } ) ;
149155
150156 it ( 'should reset the selected items on drop' , ( ) => {
157+ ngsgStore . hasSelectedItems . and . returnValue ( true ) ;
158+ ngsgStore . hasItems . and . returnValue ( true ) ;
151159 sut . drop ( ) ;
152160 expect ( ngsgStore . resetSelectedItems ) . toHaveBeenCalled ( ) ;
153161 } ) ;
154162
155163 it ( 'should stream the dropped event on the eventservice' , done => {
164+ ngsgStore . hasSelectedItems . and . returnValue ( true ) ;
165+ ngsgStore . hasItems . and . returnValue ( true ) ;
156166 ngsgEventService . dropped$ . subscribe ( ( ) => done ( ) ) ;
157167 sut . drop ( ) ;
158168 } ) ;
0 commit comments