Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { expect } from '@playwright/test';

import BasePageModel from '@/pages/BasePageModel';

class StockTransferDialog extends BasePageModel {
get stockTransferDialog() {
return this.page.getByRole('dialog', { name: 'Transfer Stock' });
}

async isLoaded() {
await expect(this.stockTransferDialog).toBeVisible();
}

get locationSelect() {
return this.page.getByRole('cell', { name: 'Choose where stock is being' });
}

async selectLocation(locationName: string) {
const activeDropdown = this.page.locator(
'.chosen-container-active .chosen-results'
);

await activeDropdown.waitFor();

return activeDropdown.locator('li', { hasText: locationName }).click();
}

get binLocationSelect() {
return this.page.getByRole('cell', { name: 'Select an Option' });
}

get transferStockButton() {
return this.stockTransferDialog.getByRole('button', {
name: 'Transfer Stock',
});
}
}

export default StockTransferDialog;
16 changes: 16 additions & 0 deletions src/pages/product/productShow/tabs/InStockTabSection.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import { expect, Locator, Page } from '@playwright/test';

import BasePageModel from '@/pages/BasePageModel';
import StockTransferDialog from '@/pages/product/productShow/sections/components/StockTransferDialog';

class InStockTabSection extends BasePageModel {
stockTransferDialog: StockTransferDialog;

constructor(page: Page) {
super(page);
this.stockTransferDialog = new StockTransferDialog(page);
}

async isLoaded() {
Expand All @@ -24,6 +28,10 @@ class InStockTabSection extends BasePageModel {
row(index: number) {
return new Row(this.page, this.rows.nth(index));
}

get stockTransferButton() {
return this.page.getByRole('link', { name: 'Transfer Stock' });
}
}

class Row extends BasePageModel {
Expand Down Expand Up @@ -59,6 +67,14 @@ class Row extends BasePageModel {
get quantityOnHand() {
return this.row.locator('td').nth(4);
}

get lot() {
return this.row.locator('td').nth(2);
}

get expires() {
return this.row.locator('td').nth(3);
}
}

export default InStockTabSection;
21 changes: 17 additions & 4 deletions src/pages/putaway/components/CreatePutawayTable.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { Locator, Page } from '@playwright/test';

import BasePageModel from '@/pages/BasePageModel';
import { formatDate } from '@/utils/DateUtils';

class CreatePutawayTable extends BasePageModel {
constructor(page: Page) {
Expand Down Expand Up @@ -32,18 +33,30 @@ class Row extends BasePageModel {
return this.row.getByRole('checkbox');
}

get tableCell() {
return this.row.getByTestId('table-cell');
}

getExpandBinLocation(binLocation: string) {
return this.row
.getByTestId('table-cell')
.getByText(binLocation);
return this.tableCell.getByText(binLocation);
}

get receivingBin() {
return this.row.getByTestId('table-cell');
}

getProductName(name: string) {
return this.row.getByTestId('table-cell').getByText(name);
return this.tableCell.getByText(name);
}

getLot(lot: string) {
return this.tableCell.getByText(lot);
}

getExpDate(expDate: Date) {
return this.tableCell.getByText(
formatDate(expDate, 'MM/DD/YYYY').toString()
);
}
}

Expand Down
8 changes: 8 additions & 0 deletions src/pages/putaway/components/StartPutawayTable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,14 @@ class Row extends BasePageModel {
get splitLineInPutawayBin() {
return this.row.getByTestId('open-modal');
}

get lotField() {
return this.row.getByTestId('table-cell').nth(4);
}

get expiryDateField() {
return this.row.getByTestId('table-cell').nth(5);
}
}

export default StartPutawayTable;
21 changes: 12 additions & 9 deletions src/tests/putaway/assertAttemptToEditCompletedPutaway.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ import { ShipmentType } from '@/constants/ShipmentType';
import { expect, test } from '@/fixtures/fixtures';
import { StockMovementResponse } from '@/types';
import RefreshCachesUtils from '@/utils/RefreshCaches';
import { getShipmentId, getShipmentItemId } from '@/utils/shipmentUtils';
import {
deleteReceivedShipment,
getShipmentId,
getShipmentItemId,
} from '@/utils/shipmentUtils';

test.describe('Assert attempt to edit completed putaway', () => {
let STOCK_MOVEMENT: StockMovementResponse;
Expand Down Expand Up @@ -69,13 +73,12 @@ test.describe('Assert attempt to edit completed putaway', () => {
await transactionListPage.table.deleteButton.click();
await expect(transactionListPage.successMessage).toBeVisible();

await stockMovementShowPage.goToPage(STOCK_MOVEMENT.id);
await stockMovementShowPage.detailsListTable.oldViewShipmentPage.click();
await oldViewShipmentPage.undoStatusChangeButton.click();
await stockMovementShowPage.isLoaded();
await stockMovementShowPage.rollbackButton.click();

await stockMovementService.deleteStockMovement(STOCK_MOVEMENT.id);
await deleteReceivedShipment({
stockMovementShowPage,
oldViewShipmentPage,
stockMovementService,
STOCK_MOVEMENT,
});
}
);

Expand All @@ -92,7 +95,7 @@ test.describe('Assert attempt to edit completed putaway', () => {
await stockMovementShowPage.goToPage(STOCK_MOVEMENT.id);
await stockMovementShowPage.isLoaded();
await RefreshCachesUtils.refreshCaches({
navbar
navbar,
});
await navbar.inbound.click();
await navbar.createPutaway.click();
Expand Down
21 changes: 12 additions & 9 deletions src/tests/putaway/assertPutawayDetailsPage.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ import { ShipmentType } from '@/constants/ShipmentType';
import { expect, test } from '@/fixtures/fixtures';
import { StockMovementResponse } from '@/types';
import RefreshCachesUtils from '@/utils/RefreshCaches';
import { getShipmentId, getShipmentItemId } from '@/utils/shipmentUtils';
import {
deleteReceivedShipment,
getShipmentId,
getShipmentItemId,
} from '@/utils/shipmentUtils';

test.describe('Assert putaway details page', () => {
let STOCK_MOVEMENT: StockMovementResponse;
Expand Down Expand Up @@ -69,13 +73,12 @@ test.describe('Assert putaway details page', () => {
await transactionListPage.table.deleteButton.click();
await expect(transactionListPage.successMessage).toBeVisible();

await stockMovementShowPage.goToPage(STOCK_MOVEMENT.id);
await stockMovementShowPage.detailsListTable.oldViewShipmentPage.click();
await oldViewShipmentPage.undoStatusChangeButton.click();
await stockMovementShowPage.isLoaded();
await stockMovementShowPage.rollbackButton.click();

await stockMovementService.deleteStockMovement(STOCK_MOVEMENT.id);
await deleteReceivedShipment({
stockMovementShowPage,
oldViewShipmentPage,
stockMovementService,
STOCK_MOVEMENT,
});
}
);

Expand All @@ -99,7 +102,7 @@ test.describe('Assert putaway details page', () => {
await stockMovementShowPage.isLoaded();
await expect(stockMovementShowPage.statusTag).toHaveText('Received');
await RefreshCachesUtils.refreshCaches({
navbar
navbar,
});
});

Expand Down
Loading
Loading