BDD / TDD with JSpec - Removing code duplication
- by Chetan
How do I refactor to remove the code duplication in this spec:
describe 'TestPlugins'
describe '.MovieScanner(document)'
before_each
MoviePage_loggedIn = fixture("movie_logged_in.html") // Get logged-in movie page
MoviePage_notloggedIn = fixture("movie_not_logged_in.html") // Get non logged-in movie page
scanner = new MovieScanner() // Get movie scanner
end
it 'should scan logged-in movie page for movie data'
doc = MoviePage_loggedIn // Get document to scan
// Unit Tests
// ------------------------------------------------------------
// Test movie scanner's functions
scanner.getMovieTitle(doc).should.eql "The Jacket"
scanner.getMovieYear(doc).should.eql "2005"
// Test movie scanner's main scan function
scannedData = scanner.scan(doc)
scannedData.title.should.eql "The Jacket"
scannedData.year.should.eql "2005"
end
it 'should scan non logged-in movie page for movie data'
doc = MoviePage_notloggedIn // Get document to scan
// Unit Tests
// ------------------------------------------------------------
// Test movie scanner's functions
scanner.getMovieTitle(doc).should.eql "The Jacket"
scanner.getMovieYear(doc).should.eql "2005"
// Test movie scanner's main scan function
scannedData = scanner.scan(doc)
scannedData.title.should.eql "The Jacket"
scannedData.year.should.eql "2005"
end
end
end