armisa-models
Version:
models of armisa!
183 lines (144 loc) • 8.68 kB
text/typescript
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);
// }
// });