Skip to content

Commit 474e609

Browse files
committed
feat: split dRep not voted calculation; assert only if totalStakeControlledByDReps is in metrics
1 parent 14c006b commit 474e609

File tree

3 files changed

+43
-27
lines changed

3 files changed

+43
-27
lines changed

tests/govtool-frontend/playwright/lib/pages/governanceActionDetailsPage.ts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import environments from "@constants/environments";
22
import { downloadMetadata } from "@helpers/metadata";
3-
import { Download, Page } from "@playwright/test";
3+
import { Download, Page, Response } from "@playwright/test";
44
import metadataBucketService from "@services/metadataBucketService";
5+
import { IProposal } from "@types";
56
import { withTxConfirmation } from "lib/transaction.decorator";
67

78
export default class GovernanceActionDetailsPage {
@@ -100,6 +101,29 @@ export default class GovernanceActionDetailsPage {
100101
await this.voteBtn.click();
101102
}
102103

104+
async getDRepNotVoted(
105+
proposal: IProposal,
106+
metricsResponsePromise: Promise<Response>
107+
): Promise<number | undefined> {
108+
const metricsResponses = await Promise.resolve(metricsResponsePromise);
109+
const totalStakeControlledByDReps = await metricsResponses
110+
.json()
111+
.then((data) => data.totalStakeControlledByDReps);
112+
113+
if (
114+
totalStakeControlledByDReps &&
115+
typeof totalStakeControlledByDReps === "number"
116+
) {
117+
const dRepNotVoted =
118+
totalStakeControlledByDReps -
119+
proposal.dRepYesVotes -
120+
proposal.dRepAbstainVotes -
121+
proposal.dRepNoVotes;
122+
123+
return dRepNotVoted;
124+
}
125+
}
126+
103127
async downloadVoteMetadata() {
104128
const download: Download = await this.page.waitForEvent("download");
105129
return downloadMetadata(download);

tests/govtool-frontend/playwright/tests/4-proposal-visibility/proposalVisibility.dRep.spec.ts

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -184,16 +184,10 @@ test.describe("Check vote count", () => {
184184
`${proposalToCheck.txHash}#${proposalToCheck.index}`
185185
);
186186

187-
const metricsResponses = await Promise.resolve(metricsResponsePromise);
188-
const totalStakeControlledByDReps = await metricsResponses
189-
.json()
190-
.then((data) => data.totalStakeControlledByDReps);
191-
192-
const dRepNotVoted =
193-
totalStakeControlledByDReps -
194-
proposalToCheck.dRepYesVotes -
195-
proposalToCheck.dRepAbstainVotes -
196-
proposalToCheck.dRepNoVotes;
187+
const dRepNotVoted = await govActionDetailsPage.getDRepNotVoted(
188+
proposalToCheck,
189+
metricsResponsePromise
190+
);
197191

198192
await govActionDetailsPage.showVotesBtn.click();
199193

@@ -209,9 +203,11 @@ test.describe("Check vote count", () => {
209203
`₳ ${correctVoteAdaFormat(proposalToCheck.dRepNoVotes)}`
210204
);
211205

212-
await expect(govActionDetailsPage.dRepNotVoted).toHaveText(
213-
`₳ ${correctVoteAdaFormat(dRepNotVoted)}`
214-
);
206+
if (dRepNotVoted) {
207+
await expect(govActionDetailsPage.dRepNotVoted).toHaveText(
208+
`₳ ${correctVoteAdaFormat(dRepNotVoted)}`
209+
);
210+
}
215211
}
216212

217213
// check sPos votes

tests/govtool-frontend/playwright/tests/4-proposal-visibility/proposalVisibility.spec.ts

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,10 @@ test("4K. Should display correct vote counts on governance details page for disc
7575
`${proposalToCheck.txHash}#${proposalToCheck.index}`
7676
);
7777

78-
const metricsResponses = await Promise.resolve(metricsResponsePromise);
79-
const totalStakeControlledByDReps = await metricsResponses
80-
.json()
81-
.then((data) => data.totalStakeControlledByDReps);
82-
83-
const dRepNotVoted =
84-
totalStakeControlledByDReps -
85-
proposalToCheck.dRepYesVotes -
86-
proposalToCheck.dRepAbstainVotes -
87-
proposalToCheck.dRepNoVotes;
78+
const dRepNotVoted = await govActionDetailsPage.getDRepNotVoted(
79+
proposalToCheck,
80+
metricsResponsePromise
81+
);
8882

8983
// check dRep votes
9084
if (await areDRepVoteTotalsDisplayed(proposalToCheck)) {
@@ -98,9 +92,11 @@ test("4K. Should display correct vote counts on governance details page for disc
9892
`₳ ${correctVoteAdaFormat(proposalToCheck.dRepNoVotes)}`
9993
);
10094

101-
await expect(govActionDetailsPage.dRepNotVoted).toHaveText(
102-
`₳ ${correctVoteAdaFormat(dRepNotVoted)}`
103-
);
95+
if (dRepNotVoted) {
96+
await expect(govActionDetailsPage.dRepNotVoted).toHaveText(
97+
`₳ ${correctVoteAdaFormat(dRepNotVoted)}`
98+
);
99+
}
104100
}
105101
// check sPos votes
106102
if (await areSPOVoteTotalsDisplayed(proposalToCheck)) {

0 commit comments

Comments
 (0)