Week 3, day 4
Today we were issued our weekend challenge, to create a web version of a working rock-paper-scissors game. This will reinforce all our practice with Sinatra this week, and undoubtedly show the chinks in our armor.
Thankfully it's a long weekend due to Easter, so we have 4 days before we have to hand it in, and I'm not feeling particularly cofident about it at the moment.
The good news, however is that I've caught up on passing last weekend's challenge. My coach this week is a thorough coder and an excellent person to learn from, he showed me exactly how poor my design was before and how to use Single Responsibility Principles, Dependency Injection and Inversion to create a masterpiece in Ruby.
Follow me after the break to see my passing tests in all their glory.
Github link to the current repo for Makers Academy - Week 2 Weekend Challenge
Running RuboCop...
Inspecting 17 files
.................
17 files inspected, no offenses detected
[Coveralls] Set up the SimpleCov formatter.
[Coveralls] Using SimpleCov's default settings.
Customer
has a name
has a number
Dish
has a name
has a price
LineItem
can contain a dish
can contain a dish quantity
can contain a subtotal
Menu
has no dishes when created
can add a dish
can be displayed
can have dishes removed from it
Message
can send customer a text confirmation
does not send customer a text without their number and an order
Order
can generate a final bill with 1 line item
can generate a final bill with 2 line items
can have a grand total
Takeaway
knows its customer's name
knows its customer's number
has a menu
can present the customer with checkout confirmation
Finished in 0.01455 seconds (files took 0.60295 seconds to load)
20 examples, 0 failures