43
44
launchbag.add(self.distribution)
44
45
launchbag.add(self.bug_task)
47
def _makeBugSupervisorTeam(self, person, owner, target):
48
"""Create a bug supervisor team which includes the person argument."""
49
members = [self.factory.makePerson() for i in range(2)]
50
members.append(person)
51
bug_supervisor = self.factory.makeTeam(members=members, owner=owner)
52
with person_logged_in(owner):
53
target.setBugSupervisor(bug_supervisor, owner)
46
55
def test_submit_action_bug_supervisor(self):
47
56
# A bug supervisor sees the Nominate action label.
48
57
login_person(self.bug_worker)
72
81
"You do not have permission to nominate this bug.",
73
82
notifications[0].message)
84
def test_bug_supervisor_nominate_distribution_does_not_error(self):
85
# A bug supervisor should not receive error notifications
86
# from the BugNominationView for a distro series.
87
person = self.factory.makePerson(
88
name='main-person-test', password='test')
89
distro = self.factory.makeDistribution()
91
self._makeBugSupervisorTeam(person, owner, distro)
92
current_series = self.factory.makeDistroSeries(
93
distribution=distro, status=SeriesStatus.CURRENT)
94
# Ensure we have some older series so test data better reflects
96
for index in range(3):
97
self.factory.makeDistroSeries(distribution=distro)
98
bug = self.factory.makeBug(distribution=distro, series=current_series)
99
series_bugtask = bug.bugtasks[1]
101
view = create_initialized_view(series_bugtask, name='+nominate')
102
self.assertEqual(0, len(view.request.notifications))
104
def test_bug_supervisor_nominate_source_package_does_not_error(self):
105
# A bug supervisor should not receive error notifications
106
# from the BugNominationView for a source package distro series.
107
person = self.factory.makePerson(
108
name='main-person-test', password='test')
109
distro = self.factory.makeDistribution()
111
self._makeBugSupervisorTeam(person, owner, distro)
112
current_series = self.factory.makeDistroSeries(
113
distribution=distro, status=SeriesStatus.CURRENT)
114
# Ensure we have some older series so test data better reflects
116
for index in range(3):
117
self.factory.makeDistroSeries(distribution=distro)
118
package = self.factory.makeDistributionSourcePackage(
120
bug = self.factory.makeBug(
121
distribution=distro, series=current_series,
122
sourcepackagename=package.name)
123
series_bugtask = bug.bugtasks[1]
125
view = create_initialized_view(series_bugtask, name='+nominate')
126
self.assertEqual(0, len(view.request.notifications))
128
def test_bug_supervisor_nominate_product_does_not_error(self):
129
# A bug supervisor should not receive error notifications
130
# from the BugNominationView for a product series.
131
person = self.factory.makePerson(
132
name='main-person-test-product', password='test')
133
product = self.factory.makeProduct()
134
owner = product.owner
135
self._makeBugSupervisorTeam(person, owner, product)
136
current_series = self.factory.makeProductSeries(product=product)
137
# Ensure we have some older series so test data better reflects
139
for index in range(3):
140
self.factory.makeProductSeries(product=product)
141
bug = self.factory.makeBug(product=product, series=current_series)
142
series_bugtask = bug.bugtasks[1]
144
view = create_initialized_view(series_bugtask, name='+nominate')
145
self.assertEqual(0, len(view.request.notifications))
76
148
class TestBugNominationEditView(TestCaseWithFactory):
77
149
"""Tests for BugNominationEditView."""