"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const standup_generator_1 = require("../standup-generator");
describe('StandupGenerator', () => {
    let generator;
    beforeEach(() => {
        generator = new standup_generator_1.StandupGenerator();
    });
    test('generates daily standup', () => {
        const entry = generator.generateDaily(['Fixed login bug', 'Added tests'], ['Working on dashboard'], [], ['Deploy to staging']);
        expect(entry.completed).toHaveLength(2);
        expect(entry.inProgress).toHaveLength(1);
        expect(entry.plan).toHaveLength(1);
    });
    test('formats standup text', () => {
        const entry = generator.generateDaily(['Done A'], ['Doing B'], ['Blocked by C'], ['Plan D']);
        const formatted = generator.formatStandup(entry);
        expect(formatted).toContain('Done A');
        expect(formatted).toContain('Doing B');
        expect(formatted).toContain('Blocked by C');
        expect(formatted).toContain('Plan D');
    });
    test('formats Slack message', () => {
        const entry = generator.generateDaily(['Done'], ['Doing'], [], ['Plan']);
        const slack = generator.formatSlackMessage(entry);
        expect(slack).toContain('Done');
        expect(slack).toContain('Doing');
    });
    test('getHistory returns recent entries', () => {
        generator.generateDaily(['A'], [], [], ['B']);
        generator.generateDaily(['C'], [], [], ['D']);
        const history = generator.getHistory(1);
        expect(history).toHaveLength(1);
    });
    test('getWeeklySummary returns text', () => {
        generator.generateDaily(['Task A'], [], [], []);
        const summary = generator.getWeeklySummary();
        expect(summary).toContain('standup');
    });
    test('clear removes all entries', () => {
        generator.generateDaily(['A'], [], [], []);
        generator.clear();
        expect(generator.getHistory(10)).toHaveLength(0);
    });
});
//# sourceMappingURL=standup-generator.test.js.map