working buytoken (untested)
This commit is contained in:
+75
-1
@@ -9,6 +9,7 @@ import { SpecT } from "../src/backend/Types/PlayerSpecs";
|
||||
|
||||
type protoAccount<C extends Class = Class> = {
|
||||
name : string,
|
||||
pwHash?: string
|
||||
rank : Rank,
|
||||
race: Race,
|
||||
class: C,
|
||||
@@ -200,7 +201,8 @@ describe('Frontcraft', () => {
|
||||
adminClient.manageRaid.createRaid(insertRaid).then(() => {
|
||||
client.RaidManager.getRaids().then((r)=>{
|
||||
if(r[0].title === insertRaid.title
|
||||
&& r[0].description === insertRaid.description){
|
||||
&& r[0].description === insertRaid.description
|
||||
&& r[0].tier === "MC"){
|
||||
raids.push(r[0])
|
||||
done()
|
||||
}
|
||||
@@ -612,4 +614,76 @@ describe('Frontcraft', () => {
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
it('implements loot system correctly', (done)=>{
|
||||
const ONE_WEEK = 4800000000
|
||||
|
||||
const Raid = (week:number, tier:string) => {
|
||||
return <Raid>{
|
||||
description: tier+" Test raid 1",
|
||||
title: tier,
|
||||
start: (week*ONE_WEEK + Date.now()).toString(),
|
||||
tier: tier
|
||||
}
|
||||
}
|
||||
const user = Object.values(users)[0]
|
||||
const createRaid = adminClient.manageRaid.createRaid
|
||||
const sign = async (raid:Raid, late = false) => await adminClient.signup.sign(user.auth.token.value, user.character, raid, late)
|
||||
const buyToken = async (signup: Signup, itemname: string) => await client.ItemManager.buyToken(user.auth.token.value, user.character.charactername, itemname, signup)
|
||||
|
||||
createRaid(Raid(0, 'MC')).then(async (MC0:Raid) => {
|
||||
const T1_0 = await client.ItemManager.getItem(T1[0])
|
||||
//const BWL0 = await createRaid(Raid(0, 'BWL'))
|
||||
const signupMC0 = await sign(MC0)
|
||||
let token = await buyToken(signupMC0, T1[0])
|
||||
if(!token){
|
||||
console.log(MC0, signupMC0)
|
||||
done("No token created")
|
||||
return
|
||||
}
|
||||
|
||||
let reserves = await client.ItemManager.getTokens(user.character, [MC0.tier], true)
|
||||
let streaks = await client.ItemManager.getTokens(user.character, [MC0.tier], false)
|
||||
if(reserves!.length != 1
|
||||
|| streaks!.length != 0
|
||||
|| reserves![0].itemname !== T1_0.itemname
|
||||
|| reserves![0].level !== 7){
|
||||
console.log(reserves, streaks);
|
||||
done("Bad token status")
|
||||
return
|
||||
}
|
||||
await adminClient.manageRaid.startRaid(MC0)
|
||||
reserves = await client.ItemManager.getTokens(user.character, [MC0.tier], true)
|
||||
streaks = await client.ItemManager.getTokens(user.character, [MC0.tier], false)
|
||||
if(reserves!.length != 0
|
||||
|| streaks!.length != 1
|
||||
|| streaks![0].itemname !== T1[0]
|
||||
|| streaks![0].level !== 7){
|
||||
console.log(reserves, streaks);
|
||||
done("Bad token status")
|
||||
return
|
||||
}
|
||||
|
||||
const MC1 = await createRaid(Raid(1, 'MC'))
|
||||
const signupMC1 = await sign(MC1)
|
||||
token = await buyToken(signupMC1, T1[1])
|
||||
reserves = await client.ItemManager.getTokens(user.character, [MC1.tier], true)
|
||||
streaks = await client.ItemManager.getTokens(user.character, [MC1.tier], false)
|
||||
if(reserves!.length != 1
|
||||
|| streaks!.length != 0
|
||||
|| reserves![0].itemname !== T1[1]
|
||||
|| reserves![0].level !== 1){
|
||||
console.log(reserves, streaks);
|
||||
done("Bad token status")
|
||||
return
|
||||
}
|
||||
|
||||
done()
|
||||
|
||||
}).catch(e => {
|
||||
console.log(e);
|
||||
|
||||
done(e)
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user