import { User, UserStore } from '../../models/user' import { Product, ProductStore } from '../../models/product'; import { Order, OrderProduct, OrderStore } from '../../models/order' const orderStore = new OrderStore() const userStore = new UserStore() const productStore = new ProductStore() const testProduct: Product = { id: 2, name: '1984', price: 5 } const testUser: User = { id: 2, firstname: 'John', lastname: 'Doe', username: 'Jd', password: 'password' } const testOrder: Order = { id: 1, status: "active", user_id: 2 } const testOrderProduct: OrderProduct = { id: 1, quantity: 5, order_id: 1, product_id: 2 } describe("Order model", () => { beforeAll(async () => { await productStore.create(testProduct) await userStore.create(testUser) }) console.log('ORDER') it('Should have an index method', () => { expect(orderStore.index).toBeDefined(); }); it('Should have a read method', () => { expect(orderStore.read).toBeDefined; }); it('Should have a create method', () => { expect(orderStore.create).toBeDefined; }); it('Should have a update method', () => { expect(orderStore.addProduct).toBeDefined; }); it('Create method should add a new order', async () => { const result = await orderStore.create(testOrder) expect(result).toEqual(testOrder) }); it('Index method should return a list of orders', async () => { const result = await orderStore.index(); expect(result[0]).toEqual(testOrder) }) it('Read method should return a order', async () => { const result = await orderStore.read(2); expect(result).toEqual(testOrder) }) it('addProduct should add a new order_products', async () => { const result = await orderStore.addProduct(testOrderProduct) expect(result).toEqual(testOrderProduct) }) afterAll(async () => { await productStore.delete(1) await userStore.delete(1) }) });