Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

90 рядки
2.0 KiB

  1. import test from 'ava';
  2. import * as getters from '../src/store/getters';
  3. test('version', t => {
  4. const state = {
  5. route: {path: '/'},
  6. password: {version: 2},
  7. defaultPassword: {version: 1}
  8. };
  9. const version = getters.version(state);
  10. t.is(version, 2);
  11. });
  12. test('version path equal default options', t => {
  13. const state = {
  14. route: {path: '/options/default'},
  15. password: {version: 2},
  16. defaultPassword: {version: 1}
  17. };
  18. const version = getters.version(state);
  19. t.is(version, 1);
  20. });
  21. test('version no password', t => {
  22. const state = {
  23. route: {path: '/'},
  24. password: null,
  25. defaultPassword: {version: 1}
  26. };
  27. const version = getters.version(state);
  28. t.is(version, 1);
  29. });
  30. test('passwordURL', t => {
  31. const state = {
  32. password: {
  33. login: "test@example.org",
  34. site: "example.org",
  35. uppercase: true,
  36. lowercase: true,
  37. numbers: true,
  38. symbols: false,
  39. length: 16,
  40. counter: 1,
  41. version: 2
  42. },
  43. baseURL: 'https://lesspass.com'
  44. };
  45. t.is(getters.passwordURL(state), 'https://lesspass.com/#/?login=test@example.org&site=example.org&uppercase=true&lowercase=true&numbers=true&symbols=false&length=16&counter=1&version=2')
  46. });
  47. test('message', t => {
  48. const state = {
  49. message: {text: 'error message', status: 'error'}
  50. };
  51. const message = getters.message(state);
  52. t.is(message.text, state.message.text);
  53. t.is(message.status, state.message.status);
  54. });
  55. test('optionsDifferentFromDefault', t => {
  56. t.false(getters.optionsDifferentFromDefault({
  57. password: {
  58. login: "test@example.org",
  59. site: "example.org",
  60. uppercase: true,
  61. lowercase: true,
  62. numbers: true,
  63. symbols: true,
  64. length: 16,
  65. counter: 1,
  66. version: 2
  67. }
  68. }));
  69. t.true(getters.optionsDifferentFromDefault({
  70. password: {
  71. login: "test@example.org",
  72. site: "example.org",
  73. uppercase: true,
  74. lowercase: true,
  75. numbers: true,
  76. symbols: false,
  77. length: 32,
  78. counter: 1,
  79. version: 1
  80. }
  81. }));
  82. });