'Scenario: Moderator should be able to vote, report or endorse after editing the response.
Given that I am on discussion page with moderator logged in
When I try to edit the response created by moderator
Then the response should be edited and rendered successfully
And I try to edit the response created by other users
Then the response should be edited and rendered successfully
And I try to vote the response created by moderator
Then the response should not be able to be voted
And I try to vote the response created by other users
Then the response should be voted successfully
And I try to report the response created by moderator
Then the response should not be able to be reported
And I try to report the response created by other users
Then the response should be reported successfully
And I try to endorse the response created by moderator
Then the response should be endorsed successfully
And I try to endorse the response created by other users
Then the response should be endorsed successfully'

@attr(shard=2)
@flaky
def test_vote_report_endorse_after_edit(self):

    self.setup_user(roles=['Moderator'])
    self.setup_view()
    page = self.create_single_thread_page('response_edit_test_thread')
    page.visit()
    self.edit_response(page, 'response_self_author')
    self.edit_response(page, 'response_other_author')
    page.cannot_vote_response('response_self_author')
    page.vote_response('response_other_author')
    page.cannot_report_response('response_self_author')
    page.report_response('response_other_author')
    page.endorse_response('response_self_author')
    page.endorse_response('response_other_author')
