Commit 9b3e7433 authored by Lucas Fernandes de Oliveira's avatar Lucas Fernandes de Oliveira

Merge branch 'issue/3' into 'develop'

Issue #3: Adicionado rota para listar jogos

See merge request !4
parents f769db08 aca96360
......@@ -12,6 +12,15 @@ export class DBHandler {
, new Jogador("Player2", [], [], 100.0)
];
this.jogos = [];
this.jogadores = [
new Jogador("Player1", [], [], 0.0)
, new Jogador("Player2", [], [], 100.0)
];
this.jogos = [
new Jogo("Overcooked", "fracasso", "fracasso", new Date("2010-01-01"), 200),
new Jogo("Tera", "FracassoXD", "FracassoXD", new Date("2010-01-01"), 0)
];
this.compras = [];
}
public createplayer(player: Jogador) {
......
import { expect } from "chai";
import * as request from "supertest";
import * as server from "./main";
import { Jogo } from "./jogo";
describe("Arquivo main.ts", () => {
it("Deveria listar os jogadores com sucesso", (done) => {
request(server)
.get("/jogadores")
......@@ -11,11 +11,50 @@ describe("Arquivo main.ts", () => {
.expect((res: any) => {
expect(res.body).to.be.an("array");
expect(res.body).to.have.length(2);
for (let i =0; i < 2; ++i) {
expect(res.body[i]).to.be.eql("Player" + (i+1));
for (let i = 0; i < 2; ++i) {
expect(res.body[i]).to.be.eql("Player" + (i + 1));
}
})
.end(done);
.end(done);
});
it("Deveria listar os jogos com sucesso", (done) => {
request(server)
.get("/jogos")
.expect(200)
.expect((res: any) => {
expect(res.body).to.be.an("array");
expect(res.body).to.have.length(2);
expect(res.body[0]).to.be.eql("Overcooked");
expect(res.body[1]).to.be.eql("Tera");
})
.end(done);
});
it("Fracassa em inserir um jogo", (done) => {
request(server)
.post("/jogo")
.send({nome: "Overcooked", dev: "fracasso", producer: undefined, rel: undefined, price: 20 })
.expect(400)
.expect((res: any) => {
expect(res.body).to.be.an("object");
expect(res.body).to.have.property("msg");
expect(res.body.msg).to.be.an("string");
expect(res.body.msg).to.be.eql("Alguns parâmetros não foram informados");
})
.end(done);
});
it("Insere um jogo", (done) => {
request(server)
.post("/jogo")
.send({nome: "Overcooked", dev: "fracasso", producer: "fracasso2", release: "2010-01-01", price: 20 })
.expect(200)
.expect((res: any) => {
expect(res.body).to.be.an("object");
expect(res.body).to.have.property("msg");
expect(res.body.msg).to.be.an("string");
expect(res.body.msg).to.be.eql("Sucesso");
})
.end(done);
});
});
#!/usr/bin/env node
import * as express from "express";
import * as bodyParser from "body-parser";
import * as express from "express";
import { Compra } from "./compra";
import { DBHandler } from "./DBHandler";
import { Jogador } from "./jogador";
......@@ -58,7 +58,7 @@ app.get("/perfil/:nome", (req: Request, res: express.Response) => {
res.json(req.db.readplayer(ID).writeinfo());
});
app.get("/catalogo", (req: Request, res: express.Response) => {
app.get("/jogos", (req: Request, res: express.Response) => {
res.json(req.db.list("jogos"));
});
......@@ -118,11 +118,15 @@ app.get("/adicionar/saldo", (req: Request, res: express.Response) => {
res.json("O jogador " + req.db.readplayer(0).getname() + " adicionou " + saldo + "R$");
});
app.post("/adicionar-jogos", (req: Request, res: express.Response) => {
app.post("/jogo", (req: Request, res: express.Response) => {
if (!(req.body.nome && req.body.dev && req.body.producer && req.body.release && req.body.price)) {
res.status(400).json({msg: "Alguns parâmetros não foram informados"});
}
// posteriormente, fazer comparação de tipos
const game: Jogo = new Jogo(req.body.nome, req.body.dev, req.body.producer, new Date(req.body.release), req.body.price);
req.db.creategame(game);
console.log(req.db.readgame(0).writeinfo());
res.json(game.writeinfo());
res.json({msg: "Sucesso"});
});
app.listen(3000);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment