Starting on https://www.dollarshaveclub.com/our-products, write 2 test scripts using your preferred framework:
- Verify that the guest can add two “Magnanimous Post Shave” moisturizers.
- Verify that the guest can remove boogies “Dream Hair Cream” from their box
These tests use MiniTest
and watir-webdriver
to do the assignment above.
bundle
ruby test/test_cart.rb
Output:
Run options: --seed 29251
# Running:
..
Finished in 23.098900s, 0.0866 runs/s, 0.1299 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
We have a simple development environment setup with Guard
:
guard
Working on this, the flakiness of AJAX requests and async animation updates with Ember was an issue. I overcame with some fine tuning and strategic spin-waits. The result, 20 times this code runs without issue.
for i in {1..20}; do ruby test/test_cart.rb; done
Run options: --seed 14110
# Running:
..
Finished in 22.941875s, 0.0872 runs/s, 0.1308 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 25531
# Running:
..
Finished in 22.817485s, 0.0877 runs/s, 0.1315 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 43055
# Running:
..
Finished in 21.618667s, 0.0925 runs/s, 0.1388 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 50812
# Running:
..
Finished in 20.379872s, 0.0981 runs/s, 0.1472 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 62812
# Running:
..
Finished in 23.463177s, 0.0852 runs/s, 0.1279 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 60996
# Running:
..
Finished in 22.680055s, 0.0882 runs/s, 0.1323 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 10277
# Running:
..
Finished in 21.174984s, 0.0945 runs/s, 0.1417 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 38171
# Running:
..
Finished in 21.828217s, 0.0916 runs/s, 0.1374 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 15141
# Running:
..
Finished in 22.615008s, 0.0884 runs/s, 0.1327 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 33146
# Running:
..
Finished in 23.637341s, 0.0846 runs/s, 0.1269 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 56383
# Running:
..
Finished in 23.731517s, 0.0843 runs/s, 0.1264 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 19597
# Running:
..
Finished in 23.181315s, 0.0863 runs/s, 0.1294 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 8310
# Running:
..
Finished in 22.801220s, 0.0877 runs/s, 0.1316 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 27636
# Running:
..
Finished in 21.967933s, 0.0910 runs/s, 0.1366 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 7508
# Running:
..
Finished in 23.464710s, 0.0852 runs/s, 0.1279 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 6791
# Running:
..
Finished in 22.295111s, 0.0897 runs/s, 0.1346 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 3554
# Running:
..
Finished in 21.576472s, 0.0927 runs/s, 0.1390 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 13196
# Running:
..
Finished in 21.564246s, 0.0927 runs/s, 0.1391 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 37129
# Running:
..
Finished in 22.927891s, 0.0872 runs/s, 0.1308 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips
Run options: --seed 15134
# Running:
..
Finished in 23.328476s, 0.0857 runs/s, 0.1286 assertions/s.
2 runs, 3 assertions, 0 failures, 0 errors, 0 skips