This started off life as a piece of production code, very heavily linked to the HTML, the CSS, and other included JS files. This was used as a training kata to help the teams work out how to take legacy JavaScript code and move to a more modular testable script architecture.
- CSS and JavaScript Source Files are contained in the [src] folder
- Test files are contained in the [tests] folder, one simple test has been setup in both Jasmine and on in QUnit, just use one testing framework.
- JSHamcrest has been integrated into both which provides better syntactic asserts amongst other things.
- I have provided a sample test in each framework that asserts that the carousel loads the first image slide within an acceptable amount of time.
- I've included the original CSS files but don't concentrate on those we want to concentrate on the behaviour, today.
- Find a way to safely make the Carousel module have less dependencies
- Find a way to safely make the Carousel framework independant, i.e. no mootools or jQuery
- Find ways to lock down the Required Behavior through the implementation of tests and make it ready for refactoring
- Look to refactor the module to progressivly enhance the webpage by either: making the initial HTML a single empty HTML element or provide the default slide HTML in the webpage and then "Enhance" the component by adding the additional behaviour to load extra slides on demand.