chrisgillis / slackwolf

A slack bot that moderates Werewolf games
341 stars 64 forks source link

Improve Testability/Development Tooling #31

Open awright022 opened 8 years ago

awright022 commented 8 years ago

Right now the Slackwolf codebase is pretty light on the ease of development front. Near as I can tell, you basically have to have at least 2 other users to test just about any part of the application. Is there another way? I think a "getting started contributed" guide would be immensely helpful.

hueyl77 commented 8 years ago

Hi @awright022 ,

To test I had to create a test Slack account and register a bunch of accounts using my various email addresses. I then fire up Chrome, Firefox, Safari, and the Desktop app and login as different accounts (4 of them). Then I just controlled all 4 slack accounts for testing.

The slack channel I created is:

https://werewolfgame.slack.com

If anyone is interested to join the slack team for playing or testing feel free to leave a comment or email me your email address and I'll shoot you an invite. My email is HUEYL77@gmail.com

Thanks!

awright022 commented 8 years ago

A few thoughts: 1) yeah, that's kind of what I mean, that's a pretty elaborate setup barrier to test/develop on the project. I benefitted from having co-workers forgiving of me as I tinkered with the project a bit and worked out bugs. 2) I wrote some one-off scripts which could execute certain parts of the program, but the design in general makes it pretty difficult to test apart from Slack. It'd be good to refactor the code to increase testability, specifically by including PHPUnit and adding a test suite. I saw a fork which was making such efforts, but it looks like they never made any PRs back to this repo. 3) It would be cool to have a Werewolf slack organization, which has a hosted version of the slackwolf project from master of this repo. That way people from across orgs can connect for games whenever they're in the mood.