Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- describe("Warehouse functionality", () => {
- it("correct param", () => {
- let warehouse = new Warehouse(100);
- warehouse.addProduct('Food', 'Bread', 11);
- warehouse.addProduct('Food', 'tea', 13);
- warehouse.addProduct('Food', 'ananas', 5);
- let expected = '{"tea":13,"Bread":11,"ananas":5}';
- let actual = JSON.stringify(warehouse.orderProducts('Food'));
- assert.equal(actual, expected);
- });
- it("Should check the instanceof - 1", () => {
- const warehouse = new Warehouse(26);
- expect(warehouse).to.be.instanceOf(Warehouse);
- });
- it("Should trow error -> no capacity", () => {
- let errorMessage = 'Invalid given warehouse space';
- expect(() => new Warehouse()).to.Throw(errorMessage);
- });
- it("Should trow error -> capacity !== number", () => {
- let errorMessage = 'Invalid given warehouse space';
- expect(() => new Warehouse("max")).to.Throw(errorMessage);
- });
- it("Should trow error -> capacity === 0", () => {
- let errorMessage = 'Invalid given warehouse space';
- expect(() => new Warehouse(0)).to.Throw(errorMessage);
- });
- it("Should trow error -> capacity < 0", () => {
- let errorMessage = 'Invalid given warehouse space';
- expect(() => new Warehouse(-5)).to.Throw(errorMessage);
- });
- it("Should check the properties", () => {
- const warehouse = new Warehouse(16);
- expect(warehouse).to.have.property("addProduct");
- expect(warehouse).to.have.property("orderProducts");
- expect(warehouse).to.have.property("occupiedCapacity");
- expect(warehouse).to.have.property("revision");
- expect(warehouse).to.have.property("scrapeAProduct");
- });
- it("addProduct1.", () => {
- const warehouse = new Warehouse(20);
- const expected = warehouse.addProduct("Food", "sausage", 5);
- expect(expected).to.be.deep.equal({sausage: 5});
- });
- it("addProduct2. Not enough warehouse space", () => {
- const warehouse = new Warehouse(20);
- const errorMessage = "There is not enough space or the warehouse is already full";
- expect(() => (warehouse.addProduct("Food", "sausage", 25))).to.throw(errorMessage);
- });
- it("addProduct3. Should throw error -> wrong type params. Not enough warehouse space", () => {
- const warehouse = new Warehouse(20);
- const errorMessage = "There is not enough space or the warehouse is already full";
- expect(() => (warehouse.addProduct("Food", 4, "monument"))).to.throw(errorMessage);
- });
- it("addProduct4. Should throw error -> wrong type params. Not enough warehouse space", () => {
- const warehouse = new Warehouse(10);
- const product1 = warehouse.addProduct("Food", "sausage", 5);
- const product2 = warehouse.addProduct("Food", "sausage", 5);
- const errorMessage = "There is not enough space or the warehouse is already full";
- expect(() => (warehouse.addProduct("Food", 4, "monument"))).to.throw(errorMessage);
- });
- it("orderProducts1. Should order the products in desc order by the quantity", () => {
- const warehouse = new Warehouse(50);
- warehouse.addProduct("Food", "sausage", 5);
- warehouse.addProduct("Food", "milk", 12);
- warehouse.addProduct("Food", "eggs", 3);
- expect(warehouse.orderProducts("Food")).to.be.deep.equal({ milk: 12, sausage: 5, eggs: 3 });
- });
- it("orderProducts2. Should order the products in desc order by the quantity", () => {
- const warehouse = new Warehouse(50);
- warehouse.addProduct("Food", "sausage", 5);
- warehouse.addProduct("Food", "sausage", 5);
- warehouse.addProduct("Food", "milk", 5);
- warehouse.addProduct("Drink", "eggs", 5);
- expect(warehouse.orderProducts("Food")).to.be.deep.equal({ sausage: 10, milk: 5 });
- });
- it("occupiedCapacity() - 1. Should return a number", () => {
- const warehouse = new Warehouse(50);
- warehouse.addProduct("Food", "sausage", 5);
- warehouse.addProduct("Drink", "milk", 5);
- warehouse.addProduct("Food", "eggs", 5);
- expect(warehouse.occupiedCapacity()).to.be.deep.equal(15);
- });
- it("scrapeAProduct - 1.", () => {
- const warehouse = new Warehouse(50);
- warehouse.addProduct("Food", "sausage", 5);
- warehouse.addProduct("Drink", "milk", 5);
- warehouse.addProduct("Food", "eggs", 5);
- warehouse.scrapeAProduct("milk", 3);
- expect(warehouse.occupiedCapacity()).to.be.deep.equal(12);
- });
- it("scrapeAProduct - 2.", () => {
- const warehouse = new Warehouse(50);
- warehouse.addProduct("Food", "sausage", 5);
- warehouse.addProduct("Drink", "milk", 5);
- warehouse.addProduct("Food", "eggs", 5);
- expect( () => (warehouse.scrapeAProduct("orange", 3))).to.be.Throw("orange do not exists");
- });
- it("scrapeAProduct - 3.", () => {
- const warehouse = new Warehouse(50);
- warehouse.addProduct("Drink", "milk", 5);
- expect( warehouse.scrapeAProduct("milk", 10)).to.be.deep.equal( { milk: 0 });
- });
- it("revision() - 1. Should return all products", () => {
- const warehouse = new Warehouse(20);
- warehouse.addProduct("Food", "sausage", 5);
- warehouse.addProduct("Food", "milk", 5);
- warehouse.addProduct("Drink", "eggs", 5);
- expect(warehouse.revision()).to.be.equal("Product type - [Food]\n" +
- "- sausage 5\n" +
- "- milk 5\n" +
- "Product type - [Drink]\n" +
- "- eggs 5");
- });
- it("revision() - 2. Should throw error - empty warehouse", () => {
- const warehouse = new Warehouse(20);
- expect(warehouse.revision()).to.be.equal("The warehouse is empty");
- });
- it("revision() - 3. Should return all products", () => {
- const warehouse = new Warehouse(20);
- warehouse.addProduct("Food", "sausage", 5);
- warehouse.addProduct("Food", "sausage", 5);
- expect(warehouse.revision()).to.be.equal("Product type - [Food]\n" +
- "- sausage 10\n" +
- "Product type - [Drink]");
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement