Finished planet api and add unit tests for it and for the modal class. Modified the behavior of the list all of the apis

vinayak
anulax1225 ago%!(EXTRA string=1 year)
parent 7c400816b4
commit bfe93f14d6
  1. 8
      js/api/agent.js
  2. 45
      js/api/planet.js
  3. 2
      js/index.js
  4. 17
      js/test/tests.js

@ -72,7 +72,7 @@ export class AgentBuilder {
}
static list(limit, page, callback, agents = []) {
const url = `${SpaceTraders.host}agents`;
const url = `${SpaceTraders.host}/agents`;
const data = { limit, page };
$.ajax({
url: url,
@ -83,7 +83,7 @@ export class AgentBuilder {
data: data,
success: (reponse) => {
reponse.data.forEach(agent => {
agents.push(agent);
agents.push(new Agent(agent));
});
callback(agents, reponse.meta);
},
@ -91,9 +91,9 @@ export class AgentBuilder {
}
static list_all(callback) {
this.list(1,1, (agents, meta) => {
this.list(20, 1, (agents, meta) => {
let maxPage = meta.total / 20;
this.#r_listing(1, maxPage, [], callback);
this.#r_listing(2, maxPage, agents, callback);
});
}

@ -43,7 +43,7 @@ export class Planet {
this.is_under_construction = waypoint.isUnderConstruction;
}
get_market() {
get_market(callback, error_handler) {
const url = `${SpaceTraders.host}/systems/${this.system}/waypoints/${this.name}/market`;
$.ajax({
url: url,
@ -53,7 +53,7 @@ export class Planet {
callback(market);
},
error: (err) => {
error_handler("Planet not found");
error_handler("Market not found");
}
});
}
@ -68,7 +68,12 @@ export class Planet {
}
export class PlanetBuilder {
static get(system, name, callback, error_handler) {
static parse_system_name(name) {
return name.split("-").slice(0, 2).join("-");
}
static get(name, callback, error_handler) {
let system = PlanetBuilder.parse_system_name(name);
const url = `${SpaceTraders.host}/systems/${system}/waypoints/${name}`;
$.ajax({
url: url,
@ -83,21 +88,41 @@ export class PlanetBuilder {
});
}
static list(system, limit, page, planets = []) {
static list(system, limit, page, callback, planets = []) {
const url = `${SpaceTraders.host}/systems/${system}/waypoints`
$.ajax({
url: url,
method: "GET",
data: {
limit: limit,
page: page
},
success: (reponse) => {
reponse.data.forEach(planet => {
planets.push(new Planet(planet));
});
callback(planets, reponse.meta);
}
});
}
static list_all(system, callback, error_handler) {
const url = `${SpaceTraders.host}/systems/${system}/waypoints`;
static list_all(system, callback) {
this.list(system, 20, 1, (planets, meta) => {
let maxPage = meta.total / 20;
this.#r_listing(system, 2, maxPage, planets, callback);
});
}
static #r_listing() {
static #r_listing(system, page, maxPage, planets, callback) {
if (page < maxPage) {
this.list(20, page++,() => {
setTimeout(() => {
callback(planets);
this.#r_listing(system, page++, maxPage, planets, callback);
}, 1000);
}, planets);
} else {
callback(planets);
}
}
}

@ -1,3 +1,3 @@
import tests from "./test/tests.js";
tests.modal();
tests.get_planet();

@ -9,7 +9,7 @@ import { PlanetBuilder } from "../api/planet.js";
let temp_path = "html";
let token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZGVudGlmaWVyIjoiSEFSRElDSyIsInZlcnNpb24iOiJ2Mi4xLjQiLCJyZXNldF9kYXRlIjoiMjAyMy0xMi0wMiIsImlhdCI6MTcwMjY2Mjc2Mywic3ViIjoiYWdlbnQtdG9rZW4ifQ.PrvaOz3W79acq6RoxryMW53PRRz824_AM0VGLwfXCOsGCOCAIY-rn6-bZTOnLAtp4xPSDqEk4c38oWYAWW59p0iMDDLpur6ONnjT0RjjsQS9zr5BByfBpP36CT23IZSSzk3XxGrFolHJAyU3K1liYfNbsPuNTXlkHGNHq6yMqH4ZQUPFsXEsCkg9cUynkdLw3C39SvWhtJ89oblj_8tQp2k8dxhZemepuXtiI51eFMpv8A0WRAi7pVYo_ajJujY9QDLYn_m5hDZWTlQMIstjPaDl99p2IMweIMO2Q2G-0lKiWQ4sl6VW5tuVrz1HLYU6kyMjFQWNn6kFDE7LWMTrfw";
let tests = {
let tests = {
timer: function() {
let timer = new Timer(1, 0.1666, "m");
timer.on("step", (time) => {
@ -66,7 +66,7 @@ let tests = {
template_engine.render("templates/login.html");
let modal = new Modal("test-modal", template_engine);
modal.add_class("my-modal")
modal.add_class("ext-modal")
modal.render("templates/test_modal.html");
@ -81,13 +81,22 @@ let tests = {
});
},
get_planet: function() {
PlanetBuilder.get("X1-TT23", "X1-TT23-FF1E", (planet) => {
PlanetBuilder.get("X1-TT23-FF1E", (planet) => {
console.log(planet);
}, (err) => {
console.log(err);
});
},
get_all_planets: function() {
PlanetBuilder.list_all("X1-AG10", (planets) => {
console.log(planets);
});
},
get_all_agents: function() {
AgentBuilder.list_all((agents) => {
console.log(agents);
});
}
}
export default tests;
Loading…
Cancel
Save