@t7/utils
Version:
Utility methods for T7 components.
72 lines (65 loc) • 3.18 kB
JavaScript
"use strict";
var _ = require("./");
// Dependencies.
// Describe test.
describe('parseFormData', function () {
// ============
// Dummy names.
// ============
var CHECKBOX_1_NAME = 'CHECKBOX_1_NAME';
var INPUT_1_NAME = 'INPUT_1_NAME';
var INPUT_2_NAME = 'INPUT_2_NAME';
var RADIO_1_NAME = 'RADIO_1_NAME';
var SELECT_1_NAME = 'SELECT_1_NAME';
var TEXT_AREA_1_NAME = 'TEXT_AREA_1_NAME';
var TEXT_DIV_1_NAME = 'TEXT_DIV_1_NAME';
var TEXT_DIV_2_NAME = 'TEXT_DIV_2_NAME'; // =============
// Dummy values.
// =============
var CHECKBOX_1_VALUE = 'CHECKBOX_1_VALUE';
var INPUT_1_VALUE = 'INPUT_1_VALUE';
var INPUT_2_VALUE = 'INPUT_2_VALUE';
var RADIO_1_VALUE = 'RADIO_1_VALUE';
var SELECT_1_VALUE = 'SELECT_1_VALUE';
var TEXT_AREA_1_VALUE = 'TEXT_AREA_1_VALUE';
var TEXT_DIV_1_VALUE = 'TEXT_DIV_1_VALUE';
var TEST_DIV_2_PLACEHOLDER = 'TEST_DIV_2_PLACEHOLDER'; // ===========
// Dummy HTML.
// ===========
document.body.innerHTML = "\n <form>\n\n <input\n name=\"".concat(INPUT_1_NAME, "\"\n value=\"").concat(INPUT_1_VALUE, "\"\n type=\"text\"\n />\n\n <input\n name=\"").concat(INPUT_2_NAME, "\"\n value=\"").concat(INPUT_2_VALUE, "\"\n disabled=\"disabled\"\n type=\"text\"\n />\n\n <input\n name=\"").concat(CHECKBOX_1_NAME, "\"\n value=\"").concat(CHECKBOX_1_VALUE, "\"\n type=\"checkbox\"\n checked=\"checked\"\n />\n\n <input\n name=\"").concat(RADIO_1_NAME, "\"\n value=\"").concat(RADIO_1_VALUE, "\"\n type=\"radio\"\n checked=\"checked\"\n />\n\n <select\n name=\"").concat(SELECT_1_NAME, "\"\n >\n <option\n value=\"").concat(SELECT_1_VALUE, "\"\n selected=\"selected\"\n ></option>\n </select>\n\n <textarea\n name=\"").concat(TEXT_AREA_1_NAME, "\"\n >").concat(TEXT_AREA_1_VALUE, "</textarea>\n\n <div\n name=\"").concat(TEXT_DIV_1_NAME, "\"\n contenteditable=\"true\"\n >").concat(TEXT_DIV_1_VALUE, "</div>\n\n <div\n name=\"").concat(TEXT_DIV_2_NAME, "\"\n placeholder=\"").concat(TEST_DIV_2_PLACEHOLDER, "\"\n contenteditable=\"true\"\n >").concat(TEST_DIV_2_PLACEHOLDER, "</div>\n\n </form>\n "); // ================
// Expected result.
// ================
var DATA_RESULT = [{
name: INPUT_1_NAME,
value: INPUT_1_VALUE
}, {
name: CHECKBOX_1_NAME,
value: CHECKBOX_1_VALUE,
checked: true
}, {
name: RADIO_1_NAME,
value: RADIO_1_VALUE,
checked: true
}, {
name: SELECT_1_NAME,
value: SELECT_1_VALUE
}, {
name: TEXT_AREA_1_NAME,
value: TEXT_AREA_1_VALUE
}, {
name: TEXT_DIV_1_NAME,
value: TEXT_DIV_1_VALUE
}, {
name: TEXT_DIV_2_NAME,
value: ''
}]; // ============
// Get content.
// ============
var form = document.querySelector('form'); // =====================
// Test for data output.
// =====================
it('handles data output', function () {
var data = (0, _.parseFormData)(form);
expect(data).toEqual(DATA_RESULT);
});
});