UNPKG

armisa-models

Version:
183 lines (144 loc) 8.68 kB
import { useTokenInfo } from "../../../.."; import { useAuthFactory } from "../../Models/SettingInfo"; import { LoginByUserPass } from "../UserPass/LoginByUserPass"; import { LoginByToken } from "./LoginByToken"; test("request and response of token login", async () => { const authFactory = useAuthFactory(); const tokenInfo = useTokenInfo(); const loginByUserPass = LoginByUserPass.createNew(authFactory); expect(loginByUserPass).toBeTruthy(); if (!loginByUserPass) { return; } var result = await loginByUserPass.loginAxios("admin", "1", false); tokenInfo.removeLocalStorageToken(); tokenInfo.deserialize(result.token, true); expect(tokenInfo.token).toBe(result.token); expect(tokenInfo.tokenFromLocalStorage).toBe(true); const loginByToken = LoginByToken.createNew(authFactory); expect(loginByToken).toBeTruthy(); if (!loginByToken) { return; } expect(loginByToken.actionPath).toBe('tokenValidation'); expect(loginByToken.controllerPath).toBe('auth'); expect(loginByToken.routerPath).toBe('/login'); expect(tokenInfo.headerOfAxios.headers!.Accept).toBe(loginByToken.authFactory.mainStateManager.tokenInfo.headerOfAxios.headers!.Accept); expect(tokenInfo.headerOfAxios.headers!["content-type"]).toBe(loginByToken.authFactory.mainStateManager.tokenInfo.headerOfAxios.headers!["content-type"]); expect(tokenInfo.headerOfAxios.headers!.Authorization).toBe(loginByToken.authFactory.mainStateManager.tokenInfo.headerOfAxios.headers!.Authorization); var result = await loginByToken.loginAxios(); expect(result).not.toBeFalsy(); expect(result).toBeTruthy(); expect(result.message).toBeFalsy(); expect(result.message).not.toBeTruthy(); expect(result.isSuccess).not.toBeFalsy(); expect(result.isSuccess).toBeTruthy(); expect(result.token).not.toBeFalsy(); expect(result.token).toBeTruthy(); expect(result.data).not.toBeFalsy(); expect(result.data).toBeTruthy(); expect(result.data.userInfo).not.toBeFalsy(); expect(result.data.userInfo).toBeTruthy(); expect(result.data.fiscalYearsInfo).not.toBeFalsy(); expect(result.data.fiscalYearsInfo).toBeTruthy(); expect(result.data.settingInfo).not.toBeFalsy(); expect(result.data.settingInfo).toBeTruthy(); expect(result.data.subSystemsInfo).not.toBeFalsy(); expect(result.data.subSystemsInfo).toBeTruthy(); }, 15000); test("only token login", async () => { const authFactory = useAuthFactory(); const loginByUserPass = LoginByUserPass.createNew(authFactory); const token = useTokenInfo(); expect(loginByUserPass).toBeTruthy(); if (!loginByUserPass) { return; } var result = await loginByUserPass.loginAxios("admin", "1", false); authFactory.mainStateManager.tokenInfo.removeLocalStorageToken(); authFactory.mainStateManager.tokenInfo.deserialize(result.token, true); expect(authFactory.mainStateManager.tokenInfo.token).toBe(result.token); const loginByToken = LoginByToken.createNew(authFactory); expect(loginByToken).toBeTruthy(); if (!loginByToken) { return; } expect(result).not.toBeFalsy(); expect(result).toBeTruthy(); expect(loginByToken).toBeTruthy(); if (!loginByToken) { return; } var tokenResult = await loginByToken.loginAxios(); if (tokenResult.isSuccess) { const authFactory = loginByToken.authFactory; expect(tokenResult.token).toBe(tokenResult.token); expect(result.token).not.toBe(tokenResult.token); expect(authFactory.mainStateManager.tokenInfo.token).not.toBe(result.token); expect(authFactory.mainStateManager.userInfo.id).toBe(1); expect(authFactory.mainStateManager.userInfo.code).toBe(0); expect(authFactory.mainStateManager.userInfo.email).toBe(''); expect(authFactory.mainStateManager.userInfo.family).toBe(''); expect(authFactory.mainStateManager.userInfo.image).toBe(''); expect(authFactory.mainStateManager.userInfo.isAdmin).toBe(true); expect(authFactory.mainStateManager.userInfo.isInactive).toBe(false); expect(authFactory.mainStateManager.userInfo.mobile).toBe(''); expect(authFactory.mainStateManager.userInfo.name).toBe('کاربر ارشد'); expect(authFactory.mainStateManager.userInfo.user).toBe('admin'); expect(authFactory.mainStateManager.userInfo.isAuthenticated()).toBe(true); expect(tokenResult.data.settingInfo.codingHesab.includes(authFactory.mainStateManager.settingInfo.codingHesab.coding) && authFactory.mainStateManager.settingInfo.codingHesab.coding).toBeTruthy(); expect(tokenResult.data.settingInfo.codingMarkaz1.includes(authFactory.mainStateManager.settingInfo.codingMarkaz1.coding) && authFactory.mainStateManager.settingInfo.codingMarkaz1.coding).toBeTruthy(); expect(tokenResult.data.settingInfo.codingMarkaz2.includes(authFactory.mainStateManager.settingInfo.codingMarkaz2.coding) && authFactory.mainStateManager.settingInfo.codingMarkaz2.coding).toBeTruthy(); expect(tokenResult.data.settingInfo.codingMarkaz3.includes(authFactory.mainStateManager.settingInfo.codingMarkaz3.coding) && authFactory.mainStateManager.settingInfo.codingMarkaz3.coding).toBeTruthy(); expect(tokenResult.data.settingInfo.codingKala.includes(authFactory.mainStateManager.settingInfo.codingKala.coding) && authFactory.mainStateManager.settingInfo.codingKala.coding).toBeTruthy(); expect(authFactory.mainStateManager.fiscalYearsInfo.activeFiscalYear?.id).toBe(tokenResult.data.fiscalYearsInfo.activeFiscalYearId); expect(authFactory.mainStateManager.fiscalYearsInfo.fiscalYears.length).toBe(tokenResult.data.fiscalYearsInfo.fiscalYears.length); expect(authFactory.mainStateManager.subSystemsInfo.all.length).toBe(tokenResult.data.subSystemsInfo.all.length); expect(authFactory.mainStateManager.subSystemsInfo.all.length > 10).toBeTruthy(); expect(authFactory.mainStateManager.subSystemsInfo.roled.length).toBe(tokenResult.data.subSystemsInfo.roled.length); expect(authFactory.mainStateManager.subSystemsInfo.selected.length).toBe(tokenResult.data.subSystemsInfo.selected.length); } }, 25000); // test.only("only is authorized token", async () => { // const AuthorizedHeadActionPath = 'AuthorizedHead'; // const authFactory = getLoginByToken(AuthorizedHeadActionPath); // expect(authFactory.axiosData.actionTokenValidationPath).toBe(AuthorizedHeadActionPath); // const loginByUserPass = LoginByUserPass.createNew(authFactory); // expect(loginByUserPass).toBeTruthy(); // if (!loginByUserPass) { // return; // } // var result = await loginByUserPass.loginAxios("admin", "1", false); // tokenInfo.removeLocalStorageToken(); // tokenInfo.deserialize(result.token, true); // expect(tokenInfo.token).toBe(result.token); // const loginByToken = LoginByToken.createNew(authFactory); // expect(loginByToken).toBeTruthy(); // if (!loginByToken) { // return; // } // expect(result).not.toBeFalsy(); // expect(result).toBeTruthy(); // expect(loginByToken).toBeTruthy(); // if (!loginByToken) { // return; // } // var tokenResult = await loginByToken.loginAxios(); // if (tokenResult.isSuccess) { // const authFactory = loginByToken.authFactory; // expect(tokenResult.token).toBe(tokenResult.token); // expect(result.token).not.toBe(tokenResult.token); // expect(tokenInfo.token).not.toBe(result.token); // expect(authFactory.mainStateManager.userInfo.id).toBe(1); // expect(authFactory.mainStateManager.userInfo.code).toBe(0); // expect(authFactory.mainStateManager.userInfo.email).toBe(''); // expect(authFactory.mainStateManager.userInfo.family).toBe(''); // expect(authFactory.mainStateManager.userInfo.image).toBe(''); // expect(authFactory.mainStateManager.userInfo.isAdmin).toBe(true); // expect(authFactory.mainStateManager.userInfo.isInactive).toBe(false); // expect(authFactory.mainStateManager.userInfo.mobile).toBe(''); // expect(authFactory.mainStateManager.userInfo.name).toBe('کاربر ارشد'); // expect(authFactory.mainStateManager.userInfo.user).toBe('admin'); // expect(authFactory.mainStateManager.userInfo.isAuthenticated()).toBe(true); // } // });