Skip to content

Commit 24f7bf3

Browse files
committed
New test case: verify if buffer is notified about discarding changes
1 parent f39b50f commit 24f7bf3

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

tests/acceptance/application-test.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,30 @@ module('Acceptance | application', function(hooks) {
7373
assert.dom('#user-email').hasText('test@dot.com');
7474
assert.dom('#buffer-has-changes').hasText('false');
7575
});
76+
77+
test('verify if buffer is notified about discarding changes', async function(assert) {
78+
await visit('/');
79+
80+
assert.equal(currentURL(), '/');
81+
82+
// Init: Buffer's and content's property value are the same
83+
assert.dom('#buffer-firstname').hasText('stefan');
84+
assert.dom('#buffer-firstname-backward').hasText('nafets');
85+
assert.dom('#user-firstname').hasText('stefan');
86+
assert.dom('#buffer-has-changes').hasText('false');
87+
88+
// Change buffer value: there should be a difference between buffer and content
89+
await fillIn('#firstname-input', 'tomek');
90+
assert.dom('#buffer-firstname').hasText('tomek');
91+
assert.dom('#buffer-firstname-backward').hasText('kemot');
92+
assert.dom('#user-firstname').hasText('stefan');
93+
assert.dom('#buffer-has-changes').hasText('true');
94+
95+
// Discard buffer changes and verify
96+
await click('button#discard-changes');
97+
assert.dom('#buffer-firstname').hasText('stefan');
98+
assert.dom('#buffer-firstname-backward').hasText('nafets');
99+
assert.dom('#user-firstname').hasText('stefan');
100+
assert.dom('#buffer-has-changes').hasText('false');
101+
});
76102
});

tests/dummy/app/controllers/application.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import Controller from '@ember/controller';
2+
import { computed } from '@ember/object';
23
import BufferedProxy from 'ember-buffered-proxy/proxy';
34

45
export default Controller.extend({
6+
7+
computedOnBuffer: computed('buffer.firstName', function() {
8+
return this.get('buffer.firstName').split('').reverse().join('');
9+
}),
10+
511
init() {
612
this._super(...arguments);
713

tests/dummy/app/templates/application.hbs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
<div id="buffer-email">{{buffer.email}}</div>
55
<div id="user-email">{{user.email}}</div>
66

7+
<div id="buffer-firstname-backward">{{computedOnBuffer}}</div>
8+
79
<div id="buffer-has-changes">{{buffer.hasChanges}}</div>
810

911
{{input id="firstname-input" value=buffer.firstName onChange=(action (mut buffer.firstName))}}

0 commit comments

Comments
 (0)