25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

store.getters.js 1.6 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. });