diff --git a/tests/integration/components/validated-form-test.js b/tests/integration/components/validated-form-test.js
index 5e29c270..3c22d7d0 100644
--- a/tests/integration/components/validated-form-test.js
+++ b/tests/integration/components/validated-form-test.js
@@ -1,11 +1,36 @@
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import { click, find, fillIn, render } from '@ember/test-helpers';
+import { helper } from '@ember/component/helper';
import hbs from 'htmlbars-inline-precompile';
+import { ValidatedChangeset } from 'ember-changeset';
module('Integration | Component | validated-form', function (hooks) {
setupRenderingTest(hooks);
+ test(`changing one property does not dirty other properties`, async function (assert) {
+ let data = { foo: 'FOO', bar: 'BAR' };
+ let changeset = new ValidatedChangeset(data);
+ this.setProperties({
+ changeset,
+ changeFoo: () => (changeset.foo = 'FOO-changed'),
+ checkFoo: helper(([foo]) => assert.step(`checkFoo: ${foo}`)),
+ checkBar: helper(([bar]) => assert.step(`checkBar: ${bar}`)),
+ });
+
+ await render(hbs`
+
+ {{this.checkFoo this.changeset.foo}}
+ {{this.checkBar this.changeset.bar}}
+ `);
+
+ assert.verifySteps(['checkFoo: FOO', 'checkBar: BAR'], 'expected check helpers called on inial render');
+
+ await fillIn('#foo', 'test-foo');
+
+ assert.verifySteps(['checkFoo: FOO-changed'], 'expected only checkFoo to be called');
+ });
+
test('it renders form', async function (assert) {
await render(hbs``);