123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 'use strict';
- require('jsdom-global')();
- const chai = require('chai');
- const dom = require('../mock/dom');
- const mixitup = require('../../dist/mixitup.js');
- chai.use(require('chai-shallow-deep-equal'));
- chai.use(require('chai-as-promised'));
- describe('mixitup.Mixer', () => {
- let container = dom.getContainer();
- let newClass = 'mixitup-container__display-rows';
- let mixer = mixitup(container);
- describe('#changeLayout()', () => {
- it('should add a new class name to the container', () => {
- return mixer.changeLayout(newClass)
- .then(state => {
- chai.assert.equal(state.activeContainerClassName, newClass);
- chai.assert.isOk(container.matches('.' + newClass));
- });
- });
- it('should remove the class name from the container', () => {
- return mixer.changeLayout('')
- .then(state => {
- chai.assert.equal(state.activeContainerClassName, '');
- chai.assert.notOk(container.matches('.' + newClass));
- });
- });
- it('should accept a callback function which is invoked after filtering', () => {
- let promise = new Promise(resolve => mixer.changeLayout(newClass, resolve));
- chai.assert.isFulfilled(promise);
- return promise
- .then(state => {
- chai.assert.equal(state.activeContainerClassName, newClass);
- chai.assert.isOk(container.matches('.' + newClass));
- });
- });
- it('should accept a boolean allowing toggling off of animation', () => {
- return mixer.changeLayout('', false)
- .then(state => {
- chai.assert.equal(state.activeContainerClassName, '');
- chai.assert.notOk(container.matches('.' + newClass));
- });
- });
- });
- });
|