comparison test/unit/query_test.rb @ 245:051f544170fe

* Update to SVN trunk revision 4993
author Chris Cannam
date Thu, 03 Mar 2011 11:42:28 +0000
parents 8661b858af72
children cbce1fd3b1b7
comparison
equal deleted inserted replaced
244:8972b600f4fb 245:051f544170fe
482 @query.add_filter('member_of_group', '!*', ['']) 482 @query.add_filter('member_of_group', '!*', [''])
483 483
484 # Users not in a group 484 # Users not in a group
485 assert_query_statement_includes @query, "#{Issue.table_name}.assigned_to_id IS NULL OR #{Issue.table_name}.assigned_to_id NOT IN ('#{@user_in_group.id}','#{@second_user_in_group.id}','#{@user_in_group2.id}')" 485 assert_query_statement_includes @query, "#{Issue.table_name}.assigned_to_id IS NULL OR #{Issue.table_name}.assigned_to_id NOT IN ('#{@user_in_group.id}','#{@second_user_in_group.id}','#{@user_in_group2.id}')"
486 assert_find_issues_with_query_is_successful @query 486 assert_find_issues_with_query_is_successful @query
487
488 end 487 end
489 488
490 should "search assigned to any group member (all)" do 489 should "search assigned to any group member (all)" do
491 @query = Query.new(:name => '_') 490 @query = Query.new(:name => '_')
492 @query.add_filter('member_of_group', '*', ['']) 491 @query.add_filter('member_of_group', '*', [''])
493 492
494 # Only users in a group 493 # Only users in a group
495 assert_query_statement_includes @query, "#{Issue.table_name}.assigned_to_id IN ('#{@user_in_group.id}','#{@second_user_in_group.id}','#{@user_in_group2.id}')" 494 assert_query_statement_includes @query, "#{Issue.table_name}.assigned_to_id IN ('#{@user_in_group.id}','#{@second_user_in_group.id}','#{@user_in_group2.id}')"
496 assert_find_issues_with_query_is_successful @query 495 assert_find_issues_with_query_is_successful @query
497 496 end
497
498 should "return an empty set with = empty group" do
499 @empty_group = Group.generate!
500 @query = Query.new(:name => '_')
501 @query.add_filter('member_of_group', '=', [@empty_group.id.to_s])
502
503 assert_equal [], find_issues_with_query(@query)
504 end
505
506 should "return issues with ! empty group" do
507 @empty_group = Group.generate!
508 @query = Query.new(:name => '_')
509 @query.add_filter('member_of_group', '!', [@empty_group.id.to_s])
510
511 assert_find_issues_with_query_is_successful @query
498 end 512 end
499 end 513 end
500 514
501 context "with 'assigned_to_role' filter" do 515 context "with 'assigned_to_role' filter" do
502 setup do 516 setup do
538 @query.add_filter('assigned_to_role', '*', ['']) 552 @query.add_filter('assigned_to_role', '*', [''])
539 553
540 assert_query_statement_includes @query, "#{Issue.table_name}.assigned_to_id IN ('#{@manager.id}','#{@developer.id}','#{@boss.id}')" 554 assert_query_statement_includes @query, "#{Issue.table_name}.assigned_to_id IN ('#{@manager.id}','#{@developer.id}','#{@boss.id}')"
541 assert_find_issues_with_query_is_successful @query 555 assert_find_issues_with_query_is_successful @query
542 end 556 end
557
558 should "return an empty set with empty role" do
559 @empty_role = Role.generate!
560 @query = Query.new(:name => '_')
561 @query.add_filter('assigned_to_role', '=', [@empty_role.id.to_s])
562
563 assert_equal [], find_issues_with_query(@query)
564 end
565
566 should "return issues with ! empty role" do
567 @empty_role = Role.generate!
568 @query = Query.new(:name => '_')
569 @query.add_filter('member_of_group', '!', [@empty_role.id.to_s])
570
571 assert_find_issues_with_query_is_successful @query
572 end
543 end 573 end
544 end 574 end
545 575
546 end 576 end