import OB from "@onebro/oba-common"; import {J} from "../../utils"; import { FactoryTestData, FactoryTestFunc, FactoryNetwork } from "../types"; export type userAcctFactoryTestData = { create:FactoryTestData["users"]["create"]; fetch:FactoryTestData["users"]["fetch"]; update:FactoryTestData["users"]["update"]; query:FactoryTestData["users"]["query"]; }; export const userAcctFactoryTestData:userAcctFactoryTestData = { create:O => [ { email:O.users.john + "@.gmail.com", role:"ADMIN", permissions:{cookies:new Date(),location:new Date()}, settings:{lang:"en",version:"1.1.1",app:{}}, devices:[O.devices.john], },{ email:O.users.jim + "@.gmail.com", role:"USER", permissions:{cookies:new Date(),location:new Date()}, settings:{lang:"en",version:"1.1.1",app:{}}, devices:[O.devices.jim], },{ email:O.users.jenn + "@.gmail.com", role:"USER", permissions:{cookies:new Date(),location:new Date()}, settings:{lang:"en",version:"1.1.1",app:{}}, devices:[O.devices.jenn], }, ], fetch:O => [O.instances.users[0].id,{email:O.instances.users[1].email}], update:O => [ { $set:{ email:O.users.jack + "@.gmail.com", phn:"+1-333-333-3333", dob:"01/01/1980", username:O.users.jack, name:{first:"Jack",last:"Allday"}, status:{name:"Enabled",time:new Date()}, hometown:"Houston, TX", loc:{str:"//Houston//Tx//"}, acct:"PLT1", "settings.data":{...O.instances.users[0].settings?.data,timeout:3600}, "settings.app.withBal":true, "settings.app.optionsOnly":true, "permissions.video":new Date(), "meta.loggedIn":new Date(), "meta.verified":new Date(), }, $push:{scopes:["update-user-acct"]}, } ], query:O => [ {query:{"email":O.users.jack}}, {query:{"role":"USER"}}, ], }; export type userAcctFactoryTests = { create:FactoryTestFunc["users"]["create"]; fetch:FactoryTestFunc["users"]["fetch"]; updateSetAndPush:FactoryTestFunc["users"]["update"]; updatePull:FactoryTestFunc["users"]["update"]; fetchFinal:FactoryTestFunc["users"]["fetch"]; query:FactoryTestFunc["users"]["query"]; }; export const userAcctFactoryTests:userAcctFactoryTests = { create:async O => { const C = userAcctFactoryTestData.create(O); for(let i = 0,l = C.length;i { const F = userAcctFactoryTestData.fetch(O); for(let i = 0,l = F.length;i { const U = userAcctFactoryTestData.update(O); for(let i = 0,l = U.length;i { const U = userAcctFactoryTestData.update(O); for(let i = 0,l = U.length;i { const F = userAcctFactoryTestData.fetch(O); const o = await O.factories.users.fetch(F[0]); J.is(o); J.not(o,null); const j = o.json(); J.is(j.status?.name,"Enabled"); J.is(j.username,O.users.jack); }, query:async O => { const Q = userAcctFactoryTestData.query(O); for(let i = 0,l = Q.length;i J.desc("UserAccts",() => { it("Create",async () => await userAcctFactoryTests.create(O),1E9); it("Fetch",async () => await userAcctFactoryTests.fetch(O),1E9); it("Update - Set & Push",async () => await userAcctFactoryTests.updateSetAndPush(O),1E9); it("Update - Pull",async () => await userAcctFactoryTests.updatePull(O),1E9); it("Fetch - Final Check",async () => await userAcctFactoryTests.fetchFinal(O),1E9); it("Query",async () => await userAcctFactoryTests.query(O),1E9); });