working buytoken (untested)

This commit is contained in:
peter
2020-02-08 15:05:17 +01:00
parent 59f518679e
commit d1b679d55a
6 changed files with 113 additions and 17 deletions
+75 -1
View File
@@ -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)
})
})
})