mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-20 21:35:42 +02:00
51 lines
1.6 KiB
JavaScript
51 lines
1.6 KiB
JavaScript
var LevelActions = require('../src/js/actions/LevelActions');
|
|
var LevelStore = require('../src/js/stores/LevelStore');
|
|
|
|
describe('this store', function() {
|
|
|
|
it('has sequences and levels', function() {
|
|
var sequenceMap = LevelStore.getSequenceToLevels();
|
|
Object.keys(sequenceMap).forEach(function(levelSequence) {
|
|
expect(LevelStore.getSequences().indexOf(levelSequence) >= 0)
|
|
.toEqual(true);
|
|
|
|
sequenceMap[levelSequence].forEach(function(level) {
|
|
expect(LevelStore.getLevel(level.id)).toEqual(level);
|
|
}.bind(this));
|
|
}.bind(this));
|
|
});
|
|
|
|
it('can solve a level and then reset', function() {
|
|
var sequenceMap = LevelStore.getSequenceToLevels();
|
|
var firstLevel = sequenceMap[
|
|
Object.keys(sequenceMap)[0]
|
|
][0];
|
|
|
|
expect(LevelStore.isLevelSolved(firstLevel.id))
|
|
.toEqual(false);
|
|
LevelActions.setLevelSolved(firstLevel.id, false);
|
|
expect(LevelStore.isLevelSolved(firstLevel.id))
|
|
.toEqual(true);
|
|
LevelActions.resetLevelsSolved();
|
|
expect(LevelStore.isLevelSolved(firstLevel.id))
|
|
.toEqual(false);
|
|
});
|
|
|
|
it('can solve a level with best status and then reset', function() {
|
|
var sequenceMap = LevelStore.getSequenceToLevels();
|
|
var firstLevel = sequenceMap[
|
|
Object.keys(sequenceMap)[0]
|
|
][0];
|
|
|
|
expect(LevelStore.isLevelBest(firstLevel.id))
|
|
.toEqual(false);
|
|
LevelActions.setLevelSolved(firstLevel.id, true);
|
|
expect(LevelStore.isLevelBest(firstLevel.id))
|
|
.toEqual(true);
|
|
LevelActions.resetLevelsSolved();
|
|
expect(LevelStore.isLevelBest(firstLevel.id))
|
|
.toEqual(false);
|
|
});
|
|
|
|
|
|
});
|