import pageController from '../../controllers/pageController'
import { Request, Response } from 'express';

describe('page controller tests', () => {
    test('non empty page param calls template with same name', () => {
        const res = { render: jest.fn() } as unknown as Response;
        const req = {
            params: { page: '' },
            session: { id: '0', formErrors: [] },
            query: { hasError: false }
        } as unknown as Request

        req.params.page = 'page';

        pageController(req, res);

        expect(res.render).toHaveBeenCalledWith('page.njk');
    });

    test('empty page param throws error', () => {
        const res = { render: jest.fn() } as unknown as Response;
        const req = {
            params: {},
            session: { id: '0', formErrors: [] },
            query: { hasError: false }
        } as unknown as Request

        expect(() => { pageController(req, res) }).toThrow();

    });
});