import React from 'react';
import ReactTestUtils from 'react-dom/test-utils';

import { Tekstfelt } from '../../../main/javascript/skjema/Tekstfelt';

describe('Tekstfelt', function () {
	var instans;
	describe('feltverdi er satt', function () {
		var mottaVerdi = jasmine.createSpy();
		var tekstfelt;
		beforeEach(function () {
			instans = ReactTestUtils.renderIntoDocument(
				<Tekstfelt
					klasse="teksttest"
					verdi={() => 'enverdi'}
					vedVerdi={mottaVerdi}
				/>
			);
			tekstfelt = ReactTestUtils.findRenderedDOMComponentWithClass(
				instans,
				'teksttest'
			);
		});
		it('feltverdi er vist', function () {
			expect(tekstfelt.value).toEqual('enverdi');
		});
		describe('feltverdi endres', function () {
			beforeEach(function () {
				ReactTestUtils.Simulate.change(tekstfelt, {
					target: { value: 'enannenverdi ' },
				});
				ReactTestUtils.Simulate.blur(tekstfelt);
			});
			it('feltverdi er oppdatert', function () {
				expect(mottaVerdi.calls.mostRecent().args[0]).toEqual(
					'enannenverdi'
				);
			});
		});
	});
});
