| 1795 |
1795 |
assert_equal [2, 3, 8], Issue.find(1).all_dependent_issues.collect(&:id).sort
|
| 1796 |
1796 |
end
|
| 1797 |
1797 |
|
|
1798 |
def test_all_dependent_issues_with_subtask
|
|
1799 |
IssueRelation.delete_all
|
|
1800 |
|
|
1801 |
project = Project.generate!(:name => "testproject")
|
|
1802 |
|
|
1803 |
parentIssue = Issue.generate!(:project => project)
|
|
1804 |
childIssue1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue.id)
|
|
1805 |
childIssue2 = Issue.generate!(:project => project, :parent_issue_id => parentIssue.id)
|
|
1806 |
|
|
1807 |
assert_equal [childIssue1.id, childIssue2.id].sort, parentIssue.all_dependent_issues.collect(&:id).uniq.sort
|
|
1808 |
end
|
|
1809 |
|
|
1810 |
def test_all_dependent_issues_does_not_include_self
|
|
1811 |
IssueRelation.delete_all
|
|
1812 |
|
|
1813 |
project = Project.generate!(:name => "testproject")
|
|
1814 |
|
|
1815 |
parentIssue = Issue.generate!(:project => project)
|
|
1816 |
childIssue = Issue.generate!(:project => project, :parent_issue_id => parentIssue.id)
|
|
1817 |
|
|
1818 |
assert_equal [childIssue.id], parentIssue.all_dependent_issues.collect(&:id)
|
|
1819 |
end
|
|
1820 |
|
|
1821 |
def test_all_dependent_issues_with_parenttask_and_sibling
|
|
1822 |
IssueRelation.delete_all
|
|
1823 |
|
|
1824 |
project = Project.generate!(:name => "testproject")
|
|
1825 |
|
|
1826 |
parentIssue = Issue.generate!(:project => project)
|
|
1827 |
childIssue1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue.id)
|
|
1828 |
childIssue2 = Issue.generate!(:project => project, :parent_issue_id => parentIssue.id)
|
|
1829 |
|
|
1830 |
assert_equal [parentIssue.id].sort, childIssue1.all_dependent_issues.collect(&:id)
|
|
1831 |
end
|
|
1832 |
|
|
1833 |
def test_all_dependent_issues_with_relation_to_leaf_in_other_tree
|
|
1834 |
IssueRelation.delete_all
|
|
1835 |
|
|
1836 |
project = Project.generate!(:name => "testproject")
|
|
1837 |
|
|
1838 |
parentIssue1 = Issue.generate!(:project => project)
|
|
1839 |
childIssue1_1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue1.id)
|
|
1840 |
childIssue1_2 = Issue.generate!(:project => project, :parent_issue_id => parentIssue1.id)
|
|
1841 |
|
|
1842 |
parentIssue2 = Issue.generate!(:project => project)
|
|
1843 |
childIssue2_1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue2.id)
|
|
1844 |
childIssue2_2 = Issue.generate!(:project => project, :parent_issue_id => parentIssue2.id)
|
|
1845 |
|
|
1846 |
|
|
1847 |
assert IssueRelation.create(:issue_from => parentIssue1,
|
|
1848 |
:issue_to => childIssue2_2,
|
|
1849 |
:relation_type => IssueRelation::TYPE_BLOCKS)
|
|
1850 |
|
|
1851 |
assert_equal [childIssue1_1.id, childIssue1_2.id, parentIssue2.id, childIssue2_2.id].sort,
|
|
1852 |
parentIssue1.all_dependent_issues.collect(&:id).uniq.sort
|
|
1853 |
end
|
|
1854 |
|
|
1855 |
def test_all_dependent_issues_with_relation_to_parent_in_other_tree
|
|
1856 |
IssueRelation.delete_all
|
|
1857 |
|
|
1858 |
project = Project.generate!(:name => "testproject")
|
|
1859 |
|
|
1860 |
parentIssue1 = Issue.generate!(:project => project)
|
|
1861 |
childIssue1_1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue1.id)
|
|
1862 |
childIssue1_2 = Issue.generate!(:project => project, :parent_issue_id => parentIssue1.id)
|
|
1863 |
|
|
1864 |
parentIssue2 = Issue.generate!(:project => project)
|
|
1865 |
childIssue2_1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue2.id)
|
|
1866 |
childIssue2_2 = Issue.generate!(:project => project, :parent_issue_id => parentIssue2.id)
|
|
1867 |
|
|
1868 |
|
|
1869 |
assert IssueRelation.create(:issue_from => parentIssue1,
|
|
1870 |
:issue_to => parentIssue2,
|
|
1871 |
:relation_type => IssueRelation::TYPE_BLOCKS)
|
|
1872 |
|
|
1873 |
assert_equal [childIssue1_1.id, childIssue1_2.id, parentIssue2.id, childIssue2_1.id, childIssue2_2.id].sort,
|
|
1874 |
parentIssue1.all_dependent_issues.collect(&:id).uniq.sort
|
|
1875 |
end
|
|
1876 |
|
|
1877 |
def test_all_dependent_issues_with_transitive_relation
|
|
1878 |
IssueRelation.delete_all
|
|
1879 |
|
|
1880 |
project = Project.generate!(:name => "testproject")
|
|
1881 |
|
|
1882 |
parentIssue1 = Issue.generate!(:project => project)
|
|
1883 |
childIssue1_1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue1.id)
|
|
1884 |
|
|
1885 |
parentIssue2 = Issue.generate!(:project => project)
|
|
1886 |
childIssue2_1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue2.id)
|
|
1887 |
|
|
1888 |
independentIssue = Issue.generate!(:project => project)
|
|
1889 |
|
|
1890 |
assert IssueRelation.create(:issue_from => parentIssue1,
|
|
1891 |
:issue_to => childIssue2_1,
|
|
1892 |
:relation_type => IssueRelation::TYPE_RELATES)
|
|
1893 |
|
|
1894 |
assert IssueRelation.create(:issue_from => childIssue2_1,
|
|
1895 |
:issue_to => independentIssue,
|
|
1896 |
:relation_type => IssueRelation::TYPE_RELATES)
|
|
1897 |
|
|
1898 |
assert_equal [childIssue1_1.id, parentIssue2.id, childIssue2_1.id, independentIssue.id].sort,
|
|
1899 |
parentIssue1.all_dependent_issues.collect(&:id).uniq.sort
|
|
1900 |
end
|
|
1901 |
|
|
1902 |
def test_all_dependent_issues_with_transitive_relation2
|
|
1903 |
IssueRelation.delete_all
|
|
1904 |
|
|
1905 |
project = Project.generate!(:name => "testproject")
|
|
1906 |
|
|
1907 |
parentIssue1 = Issue.generate!(:project => project)
|
|
1908 |
childIssue1_1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue1.id)
|
|
1909 |
|
|
1910 |
parentIssue2 = Issue.generate!(:project => project)
|
|
1911 |
childIssue2_1 = Issue.generate!(:project => project, :parent_issue_id => parentIssue2.id)
|
|
1912 |
|
|
1913 |
independentIssue = Issue.generate!(:project => project)
|
|
1914 |
|
|
1915 |
assert IssueRelation.create(:issue_from => parentIssue1,
|
|
1916 |
:issue_to => independentIssue,
|
|
1917 |
:relation_type => IssueRelation::TYPE_RELATES)
|
|
1918 |
|
|
1919 |
assert IssueRelation.create(:issue_from => independentIssue,
|
|
1920 |
:issue_to => childIssue2_1,
|
|
1921 |
:relation_type => IssueRelation::TYPE_RELATES)
|
|
1922 |
|
|
1923 |
assert_equal [childIssue1_1.id, parentIssue2.id, childIssue2_1.id, independentIssue.id].sort,
|
|
1924 |
parentIssue1.all_dependent_issues.collect(&:id).uniq.sort
|
|
1925 |
|
|
1926 |
end
|
|
1927 |
|
| 1798 |
1928 |
def test_all_dependent_issues_with_persistent_circular_dependency
|
| 1799 |
1929 |
IssueRelation.delete_all
|
| 1800 |
1930 |
assert IssueRelation.create!(:issue_from => Issue.find(1),
|