2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-18 04:55:44 +00:00

[Feature] Build allocation export (#7611)

* CUI: Add "allocated stock" panel to build order page

* Implement CUI table for build order allocations

* Add "bulk delete" option for build order allocations

* Add row actions

* Add extra fields for data export

* Add build allocation table in PUI

* Add 'batch' column

* Bump API version

* Add playwright tests

* Fix missing renderer

* Update build docs

* Update playwright tests

* Update playwright tests
This commit is contained in:
Oliver
2024-07-11 14:33:53 +10:00
committed by GitHub
parent 4e6879407e
commit 6650f3e90c
18 changed files with 500 additions and 68 deletions

View File

@ -0,0 +1,34 @@
import { test } from '../baseFixtures.ts';
import { baseUrl } from '../defaults.ts';
import { doQuickLogin } from '../login.ts';
test('PUI - Pages - Build Order', async ({ page }) => {
await doQuickLogin(page);
await page.goto(`${baseUrl}/part/`);
// Navigate to the correct build order
await page.getByRole('tab', { name: 'Build', exact: true }).click();
await page.getByRole('cell', { name: 'BO0011' }).click();
// Click on some tabs
await page.getByRole('tab', { name: 'Attachments' }).click();
await page.getByRole('tab', { name: 'Notes' }).click();
await page.getByRole('tab', { name: 'Incomplete Outputs' }).click();
await page.getByRole('tab', { name: 'Line Items' }).click();
await page.getByRole('tab', { name: 'Allocated Stock' }).click();
// Check for expected text in the table
await page.getByText('R_10R_0402_1%').click();
await page
.getByRole('cell', { name: 'R38, R39, R40, R41, R42, R43' })
.click();
// Click through to the "parent" build
await page.getByRole('tab', { name: 'Build Details' }).click();
await page.getByRole('link', { name: 'BO0010' }).click();
await page
.getByLabel('Build Details')
.getByText('Making a high level assembly')
.waitFor();
});

View File

@ -116,8 +116,6 @@ test('PUI - Pages - Part - Pricing (Variant)', async ({ page }) => {
// Variant Pricing
await page.getByRole('button', { name: 'Variant Pricing' }).click();
await page.waitForTimeout(500);
await page.getByRole('button', { name: 'Variant Part Not sorted' }).click();
// Variant Pricing - linkjumping
let target = page.getByText('Green Chair').first();

View File

@ -32,20 +32,6 @@ test('PUI - Stock', async ({ page }) => {
await page.getByRole('tab', { name: 'Installed Items' }).click();
});
test('PUI - Build', async ({ page }) => {
await doQuickLogin(page);
await page.getByRole('tab', { name: 'Build' }).click();
await page.getByText('Widget Assembly Variant').click();
await page.getByRole('tab', { name: 'Allocate Stock' }).click();
await page.getByRole('tab', { name: 'Incomplete Outputs' }).click();
await page.getByRole('tab', { name: 'Completed Outputs' }).click();
await page.getByRole('tab', { name: 'Consumed Stock' }).click();
await page.getByRole('tab', { name: 'Child Build Orders' }).click();
await page.getByRole('tab', { name: 'Attachments' }).click();
await page.getByRole('tab', { name: 'Notes' }).click();
});
test('PUI - Purchasing', async ({ page }) => {
await doQuickLogin(page);