{"action":"created","issue":{"url":"https://api.github.com/repos/dionisiydk/Calypso/issues/179","repository_url":"https://api.github.com/repos/dionisiydk/Calypso","labels_url":"https://api.github.com/repos/dionisiydk/Calypso/issues/179/labels{/name}","comments_url":"https://api.github.com/repos/dionisiydk/Calypso/issues/179/comments","events_url":"https://api.github.com/repos/dionisiydk/Calypso/issues/179/events","html_url":"https://github.com/dionisiydk/Calypso/issues/179","id":293608987,"number":179,"title":"Add command to create a test case and jump between a tested entity and test case","user":{"login":"JurajKubelka","id":465505,"avatar_url":"https://avatars0.githubusercontent.com/u/465505?v=4","gravatar_id":"","url":"https://api.github.com/users/JurajKubelka","html_url":"https://github.com/JurajKubelka","followers_url":"https://api.github.com/users/JurajKubelka/followers","following_url":"https://api.github.com/users/JurajKubelka/following{/other_user}","gists_url":"https://api.github.com/users/JurajKubelka/gists{/gist_id}","starred_url":"https://api.github.com/users/JurajKubelka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JurajKubelka/subscriptions","organizations_url":"https://api.github.com/users/JurajKubelka/orgs","repos_url":"https://api.github.com/users/JurajKubelka/repos","events_url":"https://api.github.com/users/JurajKubelka/events{/privacy}","received_events_url":"https://api.github.com/users/JurajKubelka/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-02-01T17:03:44Z","updated_at":"2018-02-01T20:29:28Z","closed_at":null,"author_association":"NONE","body":"Nautilus has a nice feature to create and jump to a test case. It can be done on a class and on a method.\r\n\r\nI was playing with the same feature in Calypso and it looks like this for a selected class: \r\n\r\n![screen shot 2018-02-01 at 13 32 02](https://user-images.githubusercontent.com/465505/35691079-5283048e-0756-11e8-863a-50fb5e526f5f.png)\r\n![screen shot 2018-02-01 at 13 31 24](https://user-images.githubusercontent.com/465505/35691065-486f98a4-0756-11e8-8825-d5ea2e0e6354.png)\r\n![screen shot 2018-02-01 at 13 31 36](https://user-images.githubusercontent.com/465505/35691054-4303cc1e-0756-11e8-849e-9a770d98267b.png)\r\n\r\nAnd similarly for a selected method: \r\n\r\n![screen shot 2018-02-01 at 13 32 31](https://user-images.githubusercontent.com/465505/35691164-82051d32-0756-11e8-903e-2a560c7408f9.png)\r\n![screen shot 2018-02-01 at 13 32 19](https://user-images.githubusercontent.com/465505/35691165-83d1daf6-0756-11e8-83b3-22dcd0cfb9fb.png)\r\n\r\nI switch between classes and methods using CMD+SHIFT+T. \r\nWhat do you think? Can we add this to the Calypso as a standard command? \r\nThe code is not ready yet. I started with a collection of new commands. When I was almost done, I found out that very similar detection of test cases and tested classes and methods is already done in `Calypso-SystemPlugins-SUnit-Queries`. \r\n\r\nActually my question is if it is worth to create a plugin, similar to `ClyTestedEnvironmentPlugin` to link test cases and tested classes/methods? \r\n\r\nWithout such plugin, every time, those commands are asked for `canBeExecutedInContext:`, the link between tests and tested classes and methods has to be evaluated for each command. From this point of view, it is done just once while using a plugin. So it looks like good approach to create such plugin, right? \r\n\r\nAnother question: Why `ClyTestedEnvironmentPlugin` is marked as slow?\r\n\r\nSo, this issue can stay opened if you agree to integrate those commands to the Calypso repository. If so, I will be happy to do it and prepare a pull request. If not, I will appreciate your comments about the best implementation :-)\r\n\r\nThe code is available here: \r\n\r\n```Smalltalk\r\nMetacello new\r\n  baseline: 'CalypsoExtensions';\r\n  repository: 'github://JurajKubelka/CalypsoExtensions/src';\r\n  load.\r\n```\r\n\r\nNote: the repository also includes some commands to create `initialize` and `accept:` methods. If you like them too, we can create another issue to integrate them."},"comment":{"url":"https://api.github.com/repos/dionisiydk/Calypso/issues/comments/362392053","html_url":"https://github.com/dionisiydk/Calypso/issues/179#issuecomment-362392053","issue_url":"https://api.github.com/repos/dionisiydk/Calypso/issues/179","id":362392053,"user":{"login":"JurajKubelka","id":465505,"avatar_url":"https://avatars0.githubusercontent.com/u/465505?v=4","gravatar_id":"","url":"https://api.github.com/users/JurajKubelka","html_url":"https://github.com/JurajKubelka","followers_url":"https://api.github.com/users/JurajKubelka/followers","following_url":"https://api.github.com/users/JurajKubelka/following{/other_user}","gists_url":"https://api.github.com/users/JurajKubelka/gists{/gist_id}","starred_url":"https://api.github.com/users/JurajKubelka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JurajKubelka/subscriptions","organizations_url":"https://api.github.com/users/JurajKubelka/orgs","repos_url":"https://api.github.com/users/JurajKubelka/repos","events_url":"https://api.github.com/users/JurajKubelka/events{/privacy}","received_events_url":"https://api.github.com/users/JurajKubelka/received_events","type":"User","site_admin":false},"created_at":"2018-02-01T20:29:28Z","updated_at":"2018-02-01T20:29:28Z","author_association":"NONE","body":"According to the slowness: Does it mean that if I have a command that crates `initialize` method, it should not check in the `canBeExecutedInContext:` method if the `initialize` method already exists in a selected class? \r\n\r\nI do same for `accept:` method, where I also check if it is an abstract method."}}
{"actor":{"display_login":"JurajKubelka"}}