@@ -1,6 +1,7 @@ | |||
describe("Connected Mode", function() { | |||
it("can save a password profile on connected mode", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
cy.get(".fa-sign-in").click(); | |||
cy.get("#email").type("test@lesspass.com"); | |||
cy.get("#passwordField").type("test@lesspass.com"); | |||
@@ -21,6 +22,7 @@ describe("Connected Mode", function() { | |||
}); | |||
it("can log in and log out", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
cy.get(".fa-sign-in").click(); | |||
cy.get("#baseURL").should("have.value", "https://lesspass.com"); | |||
cy.get("#email").type("test@lesspass.com"); | |||
@@ -31,16 +33,19 @@ describe("Connected Mode", function() { | |||
cy.get("#siteField").should("be.visible"); | |||
cy.get(".fa-key").should("be.visible"); | |||
cy.get(".fa-sign-out").click(); | |||
cy.wait(500); | |||
cy.get(".fa-key").should("not.be.visible"); | |||
}); | |||
it("reset password page", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
cy.get(".fa-sign-in").click(); | |||
cy.get("#login__forgot-password-btn").click(); | |||
cy.get("#password-reset__reset-password-btn").click(); | |||
}); | |||
it("use saved profile", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
cy.get(".fa-sign-in").click(); | |||
cy.get("#baseURL").should("have.value", "https://lesspass.com"); | |||
cy.get("#email").type("test@lesspass.com"); | |||
@@ -1,9 +1,11 @@ | |||
describe("LessPass", function() { | |||
it("successfully loads", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
}); | |||
it("should focus site field", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
cy.focused() | |||
.should('have.id', 'siteField') | |||
}); | |||
@@ -1,6 +1,7 @@ | |||
describe("Password Generation", function() { | |||
it("can't decrease counter under 0", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
cy.get("#decreaseCounter__btn").click(); | |||
cy.get("#decreaseCounter__btn").click(); | |||
cy.get("#passwordCounter").should("have.value", "1"); | |||
@@ -16,7 +17,8 @@ describe("Password Generation", function() { | |||
} | |||
cy.visit("/"); | |||
cy.get("#siteField").type("lesspass.com"); | |||
cy.wait(500); | |||
cy.get("#siteField").type("lesspass.com").tab(); | |||
cy.get("#login").type("test@lesspass.com"); | |||
cy.get("#passwordField").type("test@lesspass.com"); | |||
cy.wait(500); | |||
@@ -69,6 +71,7 @@ describe("Password Generation", function() { | |||
}); | |||
it("should have a min length of 5 and max length of 35", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
cy.get("#passwordLength") | |||
.clear() | |||
.type("35"); | |||
@@ -82,6 +85,7 @@ describe("Password Generation", function() { | |||
}); | |||
it("should consider counter as string not hex value nrt_328", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
cy.get("#siteField").type("site"); | |||
cy.get("#login").type("login"); | |||
cy.get("#passwordField").type("test"); | |||
@@ -93,7 +97,8 @@ describe("Password Generation", function() { | |||
}); | |||
it("should generate password when hit enter nrt_266", function() { | |||
cy.visit("/"); | |||
cy.get("#siteField").type("lesspass.com"); | |||
cy.wait(500); | |||
cy.get("#siteField").type("lesspass.com").tab(); | |||
cy.get("#login").type("test@lesspass.com"); | |||
cy.get("#passwordField") | |||
.type("test@lesspass.com") | |||
@@ -102,6 +107,7 @@ describe("Password Generation", function() { | |||
}); | |||
it("should keep site field in sync nrt_441", function() { | |||
cy.visit("/"); | |||
cy.wait(500); | |||
cy.get("#login").type("user"); | |||
cy.get("#passwordField").type("password"); | |||
cy.get("#siteField") | |||
@@ -117,7 +123,8 @@ describe("Password Generation", function() { | |||
}); | |||
it("should clear password generated when master password change", function() { | |||
cy.visit("/"); | |||
cy.get("#siteField").type("example.org"); | |||
cy.wait(500); | |||
cy.get("#siteField").type("example.org").tab(); | |||
cy.get("#login").type("user"); | |||
cy.get("#passwordField").type("password"); | |||
cy.get("#generatePassword__btn").should("be.visible"); | |||
@@ -29,6 +29,7 @@ function checkSettingsEdited() { | |||
describe("Settings", function() { | |||
it("should start with default values", () => { | |||
cy.visit("/#/settings"); | |||
cy.wait(500); | |||
getLogin().should("have.value", ""); | |||
getLowercase().should("have.class", "btn-primary"); | |||
getUppercase().should("have.class", "btn-primary"); | |||
@@ -40,12 +41,14 @@ describe("Settings", function() { | |||
it("should redirect to the home page when saving", () => { | |||
cy.visit("/#/settings"); | |||
cy.wait(500); | |||
cy.get("#btn-submit-settings").click(); | |||
cy.location("pathname").should("be", "/"); | |||
}); | |||
it("should pass on the settings to the password generator page after save", () => { | |||
cy.visit("/#/settings"); | |||
cy.wait(500); | |||
editSettings(); | |||
cy.get("#btn-submit-settings").click(); | |||
checkSettingsEdited(); | |||
@@ -53,9 +56,11 @@ describe("Settings", function() { | |||
it("should still show the saved settings when going back to the settings page", () => { | |||
cy.visit("/#/settings"); | |||
cy.wait(500); | |||
editSettings(); | |||
cy.get("#btn-submit-settings").click(); | |||
cy.visit("/#/settings"); | |||
cy.wait(500); | |||
checkSettingsEdited(); | |||
}) | |||
}); |
@@ -26,6 +26,8 @@ | |||
"PasswordProfileCopied": "Ihr Passwort-Profil wurde kopiert", | |||
"PasswordResetRequired": "Ein Passwort ist erforderlich", | |||
"PasswordResetSuccessful": "Ihr Passwort wurde erfolgreich zurückgesetzt.", | |||
"PasswordTooCommon": "Dieses Passwort ist zu häufig.", | |||
"PasswordTooShort": "Dieses Passwort ist zu kurz. Es muss mindestens 8 Zeichen enthalten.", | |||
"Previous": "Vorherige", | |||
"Register": "Registrieren", | |||
"Reset my password": "Mein Passwort zurücksetzen", | |||
@@ -35,6 +37,7 @@ | |||
"Search": "Suche", | |||
"Settings": "Einstellungen", | |||
"Sign In": "Anmelden", | |||
"Sign out": "Ausloggen", | |||
"Site": "Seite", | |||
"SiteLoginMasterPasswordMandatory": "Die Felder für Seite, Anmeldename und Masterpasswort sind obligatorisch.", | |||
"SorryCopy": "Es tut uns leid, dass die Kopie nur auf modernen Browsern funktioniert", | |||
@@ -26,6 +26,8 @@ | |||
"PasswordProfileCopied": "Your password profile has been copied", | |||
"PasswordResetRequired": "A password is required", | |||
"PasswordResetSuccessful": "Your password was reset successfully.", | |||
"PasswordTooCommon": "This password is too common.", | |||
"PasswordTooShort": "This password is too short. It must contain at least 8 characters.", | |||
"Previous": "Previous", | |||
"Register": "Register", | |||
"Reset my password": "Reset my password", | |||
@@ -35,6 +37,7 @@ | |||
"Search": "Search", | |||
"Settings": "Settings", | |||
"Sign In": "Sign In", | |||
"Sign out": "Sign out", | |||
"Site": "Site", | |||
"SiteLoginMasterPasswordMandatory": "Site, login, and master password fields are mandatory.", | |||
"SorryCopy": "Sorry, copying only works in modern browsers.", | |||
@@ -26,6 +26,8 @@ | |||
"PasswordProfileCopied": "Se ha copiado su perfil de contraseña", | |||
"PasswordResetRequired": "Se requiere una contraseña", | |||
"PasswordResetSuccessful": "Su contraseña ha sido reestablecida con éxito.", | |||
"PasswordTooCommon": "Esta contraseña es muy común.", | |||
"PasswordTooShort": "Esta contraseña es muy corta. Debe contener al menos 8 caracteres.", | |||
"Previous": "Anterior", | |||
"Register": "Registrar", | |||
"Reset my password": "Reestablecer mi contraseña", | |||
@@ -35,6 +37,7 @@ | |||
"Search": "Buscar", | |||
"Settings": "Settings", | |||
"Sign In": "Registrarse", | |||
"Sign out": "Desconectar", | |||
"Site": "Sitio", | |||
"SiteLoginMasterPasswordMandatory": "Los campos sitio, usuario y contraseña maestra son obligatorios.", | |||
"SorryCopy": "Lamentamos que la copia sólo funcione en navegadores modernos", | |||
@@ -26,6 +26,8 @@ | |||
"PasswordProfileCopied": "Votre profil de mot de passe a été copié", | |||
"PasswordResetRequired": "Un mot de passe est requis", | |||
"PasswordResetSuccessful": "Votre mot de passe a été changé avec succès", | |||
"PasswordTooCommon": "Ce mot de passe est trop commun.", | |||
"PasswordTooShort": "Ce mot de passe est trop court. Il doit contenir au moins 8 caractères.", | |||
"Previous": "Précédent", | |||
"Register": "S'enregistrer", | |||
"Reset my password": "Changer mon mot de passe", | |||
@@ -35,6 +37,7 @@ | |||
"Search": "Rechercher", | |||
"Settings": "Paramètres", | |||
"Sign In": "Se connecter", | |||
"Sign out": "Se déconnecter", | |||
"Site": "Site", | |||
"SiteLoginMasterPasswordMandatory": "Les champs site, login et mot de passe fort sont obligatoires.", | |||
"SorryCopy": "Nous sommes désolés, la copie ne fonctionne que sur les navigateurs modernes", | |||
@@ -26,6 +26,8 @@ | |||
"PasswordProfileCopied": "Profil twojego hasła został skopiowany", | |||
"PasswordResetRequired": "Hasło jest wymagane", | |||
"PasswordResetSuccessful": "Twoje hasło zostało zresetowane.", | |||
"PasswordTooCommon": "To hasło jest zbyt powszechne.", | |||
"PasswordTooShort": "To hasło jest za krótkie. Musi zawierać co najmniej 8 znaków.", | |||
"Previous": "Poprzednia", | |||
"Register": "Zarejestruj się", | |||
"Reset my password": "Resetuj hasło", | |||
@@ -35,6 +37,7 @@ | |||
"Search": "Szukaj", | |||
"Settings": "Settings", | |||
"Sign In": "Zaloguj się", | |||
"Sign out": "Wyloguj się", | |||
"Site": "Serwis", | |||
"SiteLoginMasterPasswordMandatory": "Nazwa serwisu, adres i hasło są wymagane.", | |||
"SorryCopy": "Niestety, kopiowanie działa tylko w nowszych przeglądarkach", | |||
@@ -26,6 +26,8 @@ | |||
"PasswordProfileCopied": "Seu perfil de senha foi copiado", | |||
"PasswordResetRequired": "Uma senha é necessária", | |||
"PasswordResetSuccessful": "Sua senha foi resetada com sucesso.", | |||
"PasswordTooCommon": "Essa senha é muito comum.", | |||
"PasswordTooShort": "Esta senha é muito curta. Ele deve conter pelo menos 8 caracteres.", | |||
"Previous": "Anterior", | |||
"Register": "Registrar", | |||
"Reset my password": "Resetar minha senha", | |||
@@ -35,6 +37,7 @@ | |||
"Search": "Procurar", | |||
"Settings": "Settings", | |||
"Sign In": "Se autenticar", | |||
"Sign out": "Sair", | |||
"Site": "Site", | |||
"SiteLoginMasterPasswordMandatory": "Campos de site e credenciais de autenticação são obrigatórios.", | |||
"SorryCopy": "Infelizmente a cópia somente funciona em navegadores modernos", | |||
@@ -26,6 +26,8 @@ | |||
"PasswordProfileCopied": "Ваш профиль пароля был скопирован", | |||
"PasswordResetRequired": "Требуется пароль", | |||
"PasswordResetSuccessful": "Ваш пароль был успешно сброшен.", | |||
"PasswordTooCommon": "Этот пароль слишком распространен.", | |||
"PasswordTooShort": "Этот пароль слишком короткий. Он должен содержать не менее 8 символов.", | |||
"Previous": "Предыдущий", | |||
"Register": "Зарегистрироваться", | |||
"Reset my password": "Сбросить мой пароль", | |||
@@ -35,6 +37,7 @@ | |||
"Search": "Поиск", | |||
"Settings": "Настройки", | |||
"Sign In": "Войти", | |||
"Sign out": "выйти", | |||
"Site": "Сайт", | |||
"SiteLoginMasterPasswordMandatory": "Поля сайта, логина и мастер-пароля являются обязательными.", | |||
"SorryCopy": "Извините, копирование работает только в современных браузерах.", | |||
@@ -26,6 +26,8 @@ | |||
"PasswordProfileCopied": "已复制您的密码配置。", | |||
"PasswordResetRequired": "请输入登录密码", | |||
"PasswordResetSuccessful": "已成功重置您的登录密码。", | |||
"PasswordTooCommon": "该密码太普通了.", | |||
"PasswordTooShort": "该密码太短。 必须至少包含8个字符.", | |||
"Previous": "上一步", | |||
"Register": "注册", | |||
"Reset my password": "重置我的登录密码", | |||
@@ -35,6 +37,7 @@ | |||
"Search": "搜索", | |||
"Settings": "设置", | |||
"Sign In": "登录", | |||
"Sign out": "登出", | |||
"Site": "网站名", | |||
"SiteLoginMasterPasswordMandatory": "网站名、登录名以及主密码均为必填信息。", | |||
"SorryCopy": "很抱歉,但复制功能仅适用于现代浏览器", | |||
@@ -21,20 +21,23 @@ | |||
"Next": "然後", | |||
"NoMatchFor": "喔不!沒有找到跟下列條件相似的結果:", | |||
"NoPassword": "您的資料庫內沒有儲存任何密碼。", | |||
"Options": "Options", | |||
"Options by default": "Options by default", | |||
"Options": "選件", | |||
"Options by default": "默認選項", | |||
"PasswordProfileCopied": "您的密码配置文件已被复制。", | |||
"PasswordResetRequired": "請輸入登入密碼", | |||
"PasswordResetSuccessful": "已成功重置您的登入密碼。", | |||
"PasswordTooCommon": "該密碼太普通了.", | |||
"PasswordTooShort": "該密碼太短。 必須至少包含8個字符.", | |||
"Previous": "以前", | |||
"Register": "註冊", | |||
"Reset my password": "重置我的登入密碼", | |||
"ResetLinkExpired": "此登入密碼重設連結已過期。", | |||
"Save": "救", | |||
"Saved passwords": "Saved passwords", | |||
"Saved passwords": "保存的密碼", | |||
"Search": "搜索", | |||
"Settings": "Settings", | |||
"Settings": "設定值", | |||
"Sign In": "登入", | |||
"Sign out": "登出", | |||
"Site": "網站位址", | |||
"SiteLoginMasterPasswordMandatory": "網站位址、登入帳號、主密碼皆為必填欄位。", | |||
"SorryCopy": "我們很抱歉,該副本僅適用於現代瀏覽器", | |||