Hello, i'm a solidity developer and have done some lottery contracts before
Can do those contracts without problems, but for the testing, if you're not very handy with smart contracts development, i would recomend to have testing functions within the contract, so you can run those test without problems in the remix ide (of course those functions can be removed before deploy), the other option is using truffle but you have to set up the environment.
By the way, i always send a short video of the testing process.
Please send me a message if you have any question