Skip to content

Commit

Permalink
Delay and duration tests passing + eslint passing for each
Browse files Browse the repository at this point in the history
  • Loading branch information
Duncan Graham Walker committed Oct 11, 2017
1 parent ec419ab commit e47fbe1
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 35 deletions.
6 changes: 3 additions & 3 deletions tests/integration/components/delay-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {
assertTooltipNotRendered,
assertTooltipNotVisible,
triggerTooltipTargetEvent,
assertTooltipVisible
assertTooltipVisible,
} from 'dummy/tests/helpers/ember-tooltips';

const { run } = Ember;
Expand Down Expand Up @@ -55,10 +55,10 @@ moduleForComponent('ember-tooltip', 'Integration | Option | delay', {

test('ember-tooltip animates with delay passed as a number', function(assert) {
assert.expect(5);
testTooltipDelay.call(this, assert, hbs`{{ember-tooltip delay=300}}`)
testTooltipDelay.call(this, assert, hbs`{{ember-tooltip delay=300}}`);
});

test('ember-tooltip animates with delay passed as a string', function(assert) {
assert.expect(5);
testTooltipDelay.call(this, assert, hbs`{{ember-tooltip delay='300'}}`)
testTooltipDelay.call(this, assert, hbs`{{ember-tooltip delay='300'}}`);
});
79 changes: 47 additions & 32 deletions tests/integration/components/duration-test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
import Ember from 'ember';
import { moduleForComponent, test } from 'ember-qunit';
import { assertTooltipNotVisible, assertTooltipVisible, triggerTooltipTargetEvent } from '../../helpers/ember-tooltips';
import hbs from 'htmlbars-inline-precompile';
import {
afterTooltipRenderChange,
assertTooltipNotRendered,
assertTooltipNotVisible,
assertTooltipVisible,
triggerTooltipTargetEvent,
} from 'dummy/tests/helpers/ember-tooltips';

const { run } = Ember;

Expand All @@ -10,26 +16,29 @@ moduleForComponent('ember-tooltip', 'Integration | Option | duration', {
});

test('ember-tooltip hides after the given duration', function(assert) {
const done = assert.async();

assert.expect(3);

this.render(hbs`{{ember-tooltip duration=300}}`);

const done = assert.async();
const $tooltipTarget = this.$();
assertTooltipNotRendered(assert);

triggerTooltipTargetEvent(this.$(), 'mouseenter');

assertTooltipNotVisible(assert);
afterTooltipRenderChange(assert, () => {

/* Check the tooltip is hidden after the duration */
/* Check the tooltip is shown */

triggerTooltipTargetEvent($tooltipTarget, 'mouseenter');
assertTooltipVisible(assert);

assertTooltipVisible(assert);
/* Check the tooltip is hidden after the duration */

run.later(() => {
assertTooltipNotVisible(assert);
done();
}, 500);
run.later(() => {
assertTooltipNotVisible(assert);
done();
}, 300);
});

});

Expand All @@ -39,18 +48,20 @@ test('ember-tooltip hides before the given duration, if requested', function(ass

this.render(hbs`{{ember-tooltip duration=300}}`);

const $tooltipTarget = this.$();
assertTooltipNotRendered(assert);

assertTooltipNotVisible(assert);
triggerTooltipTargetEvent(this.$(), 'mouseenter');

triggerTooltipTargetEvent($tooltipTarget, 'mouseenter');
afterTooltipRenderChange(assert, () => {

assertTooltipVisible(assert);
assertTooltipVisible(assert);

triggerTooltipTargetEvent($tooltipTarget, 'mouseleave');

assertTooltipNotVisible(assert);
triggerTooltipTargetEvent(this.$(), 'mouseleave');

afterTooltipRenderChange(assert, () => {
assertTooltipNotVisible(assert);
});
});
});

test('ember-tooltip uses duration after the first show', function(assert) {
Expand All @@ -59,28 +70,32 @@ test('ember-tooltip uses duration after the first show', function(assert) {

this.render(hbs`{{ember-tooltip duration=300}}`);

const done = assert.async();
const $tooltipTarget = this.$();
assertTooltipNotRendered(assert);

assertTooltipNotVisible(assert);
triggerTooltipTargetEvent(this.$(), 'mouseenter');

triggerTooltipTargetEvent($tooltipTarget, 'mouseenter');
afterTooltipRenderChange(assert, () => {
assertTooltipVisible(assert);

assertTooltipVisible(assert);
/* Hide the tooltip */

triggerTooltipTargetEvent($tooltipTarget, 'mouseleave');
triggerTooltipTargetEvent(this.$(), 'mouseleave');

assertTooltipNotVisible(assert);
afterTooltipRenderChange(assert, () => {
assertTooltipNotVisible(assert);

/* Check the tooltip is hidden after the duration */
/* Reshow the tooltip and check it still hides after the duration */

triggerTooltipTargetEvent($tooltipTarget, 'mouseenter');
triggerTooltipTargetEvent(this.$(), 'mouseenter');

assertTooltipVisible(assert);
afterTooltipRenderChange(assert, () => {
assertTooltipVisible(assert);

run.later(() => {
assertTooltipNotVisible(assert);
done();
}, 500);
afterTooltipRenderChange(assert, () => {
assertTooltipNotVisible(assert);
}, 500);
});
});
});

});

0 comments on commit e47fbe1

Please sign in to comment.