8 my $employees = $schema->resultset('Employee::Positioned');
10 if ($employees->result_class->can('position_column')) {
14 $employees->create({ name=>'temp' });
17 $employees = $employees->search(undef,{order_by=>'position'});
18 ok( check_positions($employees), "$class: intial positions" );
22 foreach my $position (1..$employees->count()) {
24 $employee = $employees->find({ position=>$position });
25 $employee->move_previous();
26 ok( check_positions($employees), "$class: move_previous( $position )" );
28 $employee = $employees->find({ position=>$position });
29 $employee->move_next();
30 ok( check_positions($employees), "$class: move_next( $position )" );
32 $employee = $employees->find({ position=>$position });
33 $employee->move_first();
34 ok( check_positions($employees), "$class: move_first( $position )" );
36 $employee = $employees->find({ position=>$position });
37 $employee->move_last();
38 ok( check_positions($employees), "$class: move_last( $position )" );
40 foreach my $to_position (1..$employees->count()) {
41 $employee = $employees->find({ position=>$position });
42 $employee->move_to($to_position);
43 ok( check_positions($employees), "$class: move_to( $position => $to_position )" );
51 my( $employees ) = @_;
53 my $expected_position = 0;
54 while (my $employee = $employees->next()) {
55 $expected_position ++;
56 if ($employee->position()!=$expected_position) {