The source project of this merge request has been removed.
Replace static fixture by generated one in issue_spec.js
What does this MR do?
- clean up
issue_spec.js - introduce an alternative approach to #19445 (closed)
- rename
rake teaspoontorake teaspoon:tests - introduce
rake teaspoon:fixtureswhich generates fixtures using RSpec - introduce
rake teaspoonwhich runsrake teaspoon:fixturesandrake teaspoon:tests
- rename
Why was this MR needed?
- many duplications
- missing existence checks
- missing conditions
- static fixtures don't match real views
Reasoning
I want to explain some of my decisions here, so that they stay visible for future discussions.
Why not HAML?
- same number of HAML templates as number of fixtures (many input files)
- embedded logic less readable
- can not be rendered by JavaScript (because of inline Ruby)
Why RSpec?
- real controllers for fixtures
- spys available for mocking
- easily report failed fixture generations
Why not magic_lamp? (#19445 (closed))
- introduces another dependency/tool
- needs to run a server concurrently to teaspoon
- makes it harder to use a JavaScript test runner
- static HTML files serve faster