123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- import assert from 'assert';
- import { updateAvatar, updateUsername } from 'misago/reducers/users';
- import reducer, { signIn, signOut, patch } from 'misago/reducers/auth';
- describe("Auth Reducer", function() {
- it("patches auth user", function() {
- let state = {
- user: {
- username: 'Original'
- }
- };
- assert.deepEqual(reducer(state, patch({
- username: 'Patched!',
- new_attr: 'Set'
- })), {
- user: {
- username: 'Patched!',
- new_attr: 'Set'
- }
- }, "reducer patched authenticated user");
- });
- it("updates avatar", function() {
- let state = {
- isAuthenticated: true,
- user: {
- id: 321,
- avatar_hash: 'aabbccdd'
- }
- };
- assert.deepEqual(reducer(state, updateAvatar({
- id: 321
- }, '11223344')), {
- isAuthenticated: true,
- user: {
- id: 321,
- avatar_hash: '11223344'
- }
- }, "reducer changed authenticated user's avatar hash");
- assert.deepEqual(reducer(state, updateAvatar({
- id: 322
- }, '11223344')), {
- isAuthenticated: true,
- user: {
- id: 321,
- avatar_hash: 'aabbccdd'
- }
- }, "reducer validates user id");
- });
- it("updates username", function() {
- let state = {
- isAuthenticated: true,
- user: {
- id: 321,
- username: 'Bob',
- slug: 'bob'
- }
- };
- assert.deepEqual(reducer(state, updateUsername({
- id: 321
- }, 'Weebl', 'weebl')), {
- isAuthenticated: true,
- user: {
- id: 321,
- username: 'Weebl',
- slug: 'weebl'
- }
- }, "reducer changed authenticated user's name");
- assert.deepEqual(reducer(state, updateUsername({
- id: 322
- }, 'Weebl', 'weebl')), {
- isAuthenticated: true,
- user: {
- id: 321,
- username: 'Bob',
- slug: 'bob'
- }
- }, "reducer validates user id");
- });
- it("signs user in", function() {
- let state = {
- signedIn: false
- };
- assert.deepEqual(reducer(state, signIn({username: 'Weebl'})), {
- signedIn: {
- username: 'Weebl'
- }
- }, "reducer changed store state for sign in");
- });
- it("signs user out", function() {
- let state = {
- isAuthenticated: true,
- isAnonymous: true,
- signedIn: false,
- signedOut: true
- };
- assert.deepEqual(reducer(state, signOut()), {
- isAuthenticated: false,
- isAnonymous: true,
- signedIn: false,
- signedOut: true
- }, "reducer changed store state for sign out");
- });
- it("soflty signs user out", function() {
- let state = {
- isAuthenticated: true,
- isAnonymous: true,
- signedIn: false,
- signedOut: true
- };
- assert.deepEqual(reducer(state, signOut(true)), {
- isAuthenticated: false,
- isAnonymous: true,
- signedIn: false,
- signedOut: false
- }, "reducer changed store state for soft sign out");
- });
- });
|