Make Herald test workflow modular and more clear
Summary: Fixes T9719. Currently, the Herald "Test Console" has a big `instanceof` thing, so new adapters (like a Calendar adapter, or third-party adapters) aren't available automatically. Instead, do a standard modular thing: load the available adapters, ask which ones can test the object the user selected, then let the user pick which one they want to move forward with. Additionally, it isn't very clear that you can't test "commit hook" rules because they rely on push state which we don't really have a good way to simulate. When the user picks a commit, we now show them the "Hook" events, but the options are disabled and explain why they can not be selected. Test Plan: - Ran test rules for revisions, commits, mocks, tasks, wiki documents, questions, and outbound mail. - Plugged in a commit, got a more-helpful choice screen explaining why you do a test run of hook rules. Reviewers: chad Reviewed By: chad Maniphest Tasks: T9719 Differential Revision: https://secure.phabricator.com/D16360
This commit is contained in:
@@ -20,6 +20,20 @@ final class PhrictionDocumentHeraldAdapter extends HeraldAdapter {
|
||||
return new PhrictionDocument();
|
||||
}
|
||||
|
||||
public function isTestAdapterForObject($object) {
|
||||
return ($object instanceof PhrictionDocument);
|
||||
}
|
||||
|
||||
public function getAdapterTestDescription() {
|
||||
return pht(
|
||||
'Test rules which run when a wiki document is created or updated.');
|
||||
}
|
||||
|
||||
public function setObject($object) {
|
||||
$this->document = $object;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getObject() {
|
||||
return $this->document;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user