import React from "react"; import { mount } from "enzyme"; import { EmbeddedFxBackupOptIn } from "content-src/components/EmbeddedFxBackupOptIn.jsx"; function getFxBackupComponent(wrapper) { return wrapper.find("turn-on-scheduled-backups").getDOMNode(); } describe("EmbeddedFxBackupOptIn", () => { it("does not crash if ref is null", () => { const wrapper = mount(); wrapper.unmount(); }); it("unencrypted backups always show file chooser screen", () => { const wrapper = mount( ); const el = getFxBackupComponent(wrapper); assert.strictEqual(el.hasAttribute("hide-password-input"), true); assert.strictEqual(el.hasAttribute("hide-file-path-chooser"), false); wrapper.unmount(); }); it("encrypted backups show file chooser first if hide_password_input=true", () => { const wrapper = mount( ); const el = getFxBackupComponent(wrapper); assert.strictEqual(el.hasAttribute("hide-password-input"), true); assert.strictEqual(el.hasAttribute("hide-file-path-chooser"), false); wrapper.unmount(); }); it("encrypted backups show password input screen if hide_password_input=false", () => { const wrapper = mount( ); const el = getFxBackupComponent(wrapper); assert.strictEqual(el.hasAttribute("hide-password-input"), false); assert.strictEqual(el.hasAttribute("hide-file-path-chooser"), true); wrapper.unmount(); }); it("updates screen when hide_password_input changes for encrypted backups", () => { const wrapper = mount( ); let el = getFxBackupComponent(wrapper); // Show file chooser screen first assert.strictEqual(el.hasAttribute("hide-password-input"), true); assert.strictEqual(el.hasAttribute("hide-file-path-chooser"), false); // Switch to password input screen wrapper.setProps({ options: { hide_password_input: false } }); wrapper.update(); el = getFxBackupComponent(wrapper); assert.strictEqual(el.hasAttribute("hide-password-input"), false); assert.strictEqual(el.hasAttribute("hide-file-path-chooser"), true); wrapper.unmount(); }); });