mirror of
				https://gitlab.nic.cz/turris/reforis/foris-js.git
				synced 2025-11-03 23:00:31 +01:00 
			
		
		
		
	Add test suites for a Wi-Fi form submission
This commit is contained in:
		@@ -64,7 +64,7 @@ function prepDataToSubmit(formData) {
 | 
			
		||||
    return formData;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function validator(formData) {
 | 
			
		||||
export function validator(formData) {
 | 
			
		||||
    const formErrors = formData.devices.map(
 | 
			
		||||
        (device) => {
 | 
			
		||||
            if (!device.enabled) return {};
 | 
			
		||||
 
 | 
			
		||||
@@ -13,8 +13,8 @@ import { fireEvent, render, wait } from "customTestRender";
 | 
			
		||||
import { WebSockets } from "webSockets/WebSockets";
 | 
			
		||||
import { mockJSONError } from "testUtils/network";
 | 
			
		||||
 | 
			
		||||
import { wifiSettingsFixture } from "./__fixtures__/wifiSettings";
 | 
			
		||||
import { WiFiSettings } from "../WiFiSettings";
 | 
			
		||||
import { wifiSettingsFixture, oneDevice, twoDevices, threeDevices } from "./__fixtures__/wifiSettings";
 | 
			
		||||
import { WiFiSettings, validator } from "../WiFiSettings";
 | 
			
		||||
 | 
			
		||||
describe("<WiFiSettings/>", () => {
 | 
			
		||||
    let firstRender;
 | 
			
		||||
@@ -159,4 +159,18 @@ describe("<WiFiSettings/>", () => {
 | 
			
		||||
        };
 | 
			
		||||
        expect(mockAxios.post).toHaveBeenCalledWith(endpoint, data, expect.anything());
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it("Validator function using regex for one device", () => {    
 | 
			
		||||
        expect(validator(oneDevice)).toEqual(null);      
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it("Validator function using regex for two devices", () => {
 | 
			
		||||
        const twoDevicesFormErrors = [{SSID: "SSID can't be empty"}, {}];    
 | 
			
		||||
        expect(validator(twoDevices)).toEqual(twoDevicesFormErrors);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it("Validator function using regex for three devices", () => {
 | 
			
		||||
        const threeDevicesFormErrors = [{}, {}, {password: "Password must contain at least 8 symbols"}];    
 | 
			
		||||
        expect(validator(threeDevices)).toEqual(threeDevicesFormErrors);
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -316,3 +316,85 @@ export function wifiSettingsFixture() {
 | 
			
		||||
        ],
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
const oneDevice = {
 | 
			
		||||
    devices: [
 | 
			
		||||
        {
 | 
			
		||||
            SSID: "Turris1",
 | 
			
		||||
            channel: 60,
 | 
			
		||||
            enabled: true,
 | 
			
		||||
            guest_wifi: { enabled: false },
 | 
			
		||||
            hidden: false,
 | 
			
		||||
            htmode: "HT40",
 | 
			
		||||
            hwmode: "11a",
 | 
			
		||||
            id: 0,
 | 
			
		||||
            password: "TestPass"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const twoDevices = {
 | 
			
		||||
    devices: [
 | 
			
		||||
        {
 | 
			
		||||
            SSID: "",
 | 
			
		||||
            channel: 60,
 | 
			
		||||
            enabled: true,
 | 
			
		||||
            guest_wifi: { enabled: false },
 | 
			
		||||
            hidden: false,
 | 
			
		||||
            htmode: "HT40",
 | 
			
		||||
            hwmode: "11a",
 | 
			
		||||
            id: 0,
 | 
			
		||||
            password: "TestPass"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            SSID: "Turris2",
 | 
			
		||||
            channel: 60,
 | 
			
		||||
            enabled: true,
 | 
			
		||||
            guest_wifi: { enabled: false },
 | 
			
		||||
            hidden: false,
 | 
			
		||||
            htmode: "HT40",
 | 
			
		||||
            hwmode: "11a",
 | 
			
		||||
            id: 0,
 | 
			
		||||
            password: "TestPass"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const threeDevices = {
 | 
			
		||||
    devices: [
 | 
			
		||||
        {
 | 
			
		||||
            SSID: "Turris1",
 | 
			
		||||
            channel: 60,
 | 
			
		||||
            enabled: true,
 | 
			
		||||
            guest_wifi: { enabled: false },
 | 
			
		||||
            hidden: false,
 | 
			
		||||
            htmode: "HT40",
 | 
			
		||||
            hwmode: "11a",
 | 
			
		||||
            id: 0,
 | 
			
		||||
            password: "TestPass"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            SSID: "Turris2",
 | 
			
		||||
            channel: 60,
 | 
			
		||||
            enabled: false,
 | 
			
		||||
            guest_wifi: { enabled: false },
 | 
			
		||||
            hidden: false,
 | 
			
		||||
            htmode: "HT40",
 | 
			
		||||
            hwmode: "11a",
 | 
			
		||||
            id: 0,
 | 
			
		||||
            password: "TestPass"
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            SSID: "Turris3",
 | 
			
		||||
            channel: 60,
 | 
			
		||||
            enabled: true,
 | 
			
		||||
            guest_wifi: { enabled: false },
 | 
			
		||||
            hidden: false,
 | 
			
		||||
            htmode: "HT40",
 | 
			
		||||
            hwmode: "11a",
 | 
			
		||||
            id: 0,
 | 
			
		||||
            password: ""
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export {oneDevice, twoDevices, threeDevices};
 | 
			
		||||
		Reference in New Issue
	
	Block a user