GenerateDocumentAction example


    private MockObject&DocumentGenerator $documentGenerator;

    private MockObject&StorableFlow $flow;

    private GenerateDocumentAction $action;

    protected function setUp(): void
    {
        $this->documentGenerator = $this->getMockBuilder(DocumentGenerator::class)->disableOriginalConstructor()->onlyMethods(['generate'])->getMock();

        $this->action = new GenerateDocumentAction(
            $this->documentGenerator,
            $this->createMock(LoggerInterface::class),
        );

        $this->flow = $this->createMock(StorableFlow::class);
    }

    public function testRequirements(): void
    {
        static::assertSame(
            [OrderAware::class],
            
/** * @dataProvider genDocumentProvider */
    public function testGenerateDocument(string $documentType, string $documentRangerType, bool $autoGenInvoiceDoc = false, bool $multipleDoc = false): void
    {
        $context = Context::createDefaultContext();
        $customerId = $this->createCustomer();
        $order = $this->createOrder($customerId$context);

        $event = new OrderStateMachineStateChangeEvent('state_enter.order.state.in_progress', $order$context);
        $subscriber = new GenerateDocumentAction($this->documentGenerator, $this->logger);

        if ($multipleDoc) {
            $config = [
                'documentTypes' => [
                    [
                        'documentType' => $documentType,
                        'documentRangerType' => $documentRangerType,
                        'custom' => ['invoiceNumber' => '1100'],
                    ],
                    [
                        'documentType' => DeliveryNoteRenderer::TYPE,
                        
Home | Imprint | This part of the site doesn't use cookies.