Skip to content

Commit ac0bcf8

Browse files
author
DA Automation
committed
Update Splice from CCI
Signed-off-by: DA Automation <splice-maintainers@digitalasset.com>
1 parent d1fcffd commit ac0bcf8

File tree

16 files changed

+195
-100
lines changed

16 files changed

+195
-100
lines changed

apps/app/src/test/scala/org/lfdecentralizedtrust/splice/integration/tests/BFTManualStartIntegrationTest.scala renamed to apps/app/src/test/scala/org/lfdecentralizedtrust/splice/integration/tests/BftManualStartIntegrationTest.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ import org.lfdecentralizedtrust.splice.integration.EnvironmentDefinition
77
import org.lfdecentralizedtrust.splice.integration.tests.SpliceTests.IntegrationTest
88
import org.lfdecentralizedtrust.splice.scan.config.BftSequencerConfig
99

10-
// TODO(#19679) consider renaming to BftManualStartIntegrationTest
11-
class BFTManualStartIntegrationTest extends IntegrationTest {
10+
class BftManualStartIntegrationTest extends IntegrationTest {
1211

1312
override def environmentDefinition: SpliceEnvironmentDefinition = {
1413
EnvironmentDefinition

apps/app/src/test/scala/org/lfdecentralizedtrust/splice/integration/tests/SvFrontendIntegrationTest.scala

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -372,8 +372,7 @@ class SvFrontendIntegrationTest
372372

373373
val (_, (createdVoteRequestAction, createdVoteRequestRequester)) = actAndCheck(
374374
"sv1 operator can create a new vote request", {
375-
val dropDownAction = new Select(webDriver.findElement(By.id("display-actions")))
376-
dropDownAction.selectByValue(action)
375+
changeAction(action)
377376

378377
fillUpForm(webDriver)
379378

@@ -672,8 +671,7 @@ class SvFrontendIntegrationTest
672671

673672
actAndCheck(
674673
"sv1 operator can create a new vote request", {
675-
val dropDownAction = new Select(webDriver.findElement(By.id("display-actions")))
676-
dropDownAction.selectByValue("SRARC_GrantFeaturedAppRight")
674+
changeAction("SRARC_GrantFeaturedAppRight")
677675

678676
inside(find(id("set-application-provider"))) { case Some(element) =>
679677
element.underlying.sendKeys(requestProviderParty)
@@ -728,8 +726,7 @@ class SvFrontendIntegrationTest
728726
"sv1 operator can create a new vote request to revoke the featured app right", {
729727
go to s"http://localhost:$sv1UIPort/votes"
730728

731-
val dropDownAction = new Select(webDriver.findElement(By.id("display-actions")))
732-
dropDownAction.selectByValue("SRARC_RevokeFeaturedAppRight")
729+
changeAction("SRARC_RevokeFeaturedAppRight")
733730

734731
inside(find(id("set-application-rightcid"))) { case Some(element) =>
735732
element.underlying.sendKeys(rightCid)
@@ -775,9 +772,7 @@ class SvFrontendIntegrationTest
775772
// The `eventually` guards against `StaleElementReferenceException`s
776773
// eventually() must contain clickVoteRequestSubmitButtonOnceEnabled() to retry the whole process
777774
eventually() {
778-
find(id("display-actions")) should not be empty
779-
val dropDownAction = new Select(webDriver.findElement(By.id("display-actions")))
780-
dropDownAction.selectByValue("SRARC_SetConfig")
775+
changeAction("SRARC_SetConfig")
781776

782777
inside(find(id("checkbox-set-effective-at-threshold"))) { case Some(element) =>
783778
element.underlying.click()
@@ -1127,6 +1122,17 @@ class SvFrontendIntegrationTest
11271122
}
11281123
}
11291124

1125+
def changeAction(actionName: String)(implicit webDriver: WebDriverType) = {
1126+
find(id("display-actions")) should not be empty
1127+
val dropDownAction = new Select(webDriver.findElement(By.id("display-actions")))
1128+
dropDownAction.selectByValue(actionName)
1129+
1130+
if (actionName != "SRARC_OffboardSv") {
1131+
val proceedButton = webDriver.findElement(By.id("action-change-dialog-proceed"))
1132+
proceedButton.click()
1133+
}
1134+
}
1135+
11301136
def getVoteRequestsInProgressSize()(implicit webDriver: WebDriverType) = {
11311137
val tbodyInProgress = find(id("sv-voting-in-progress-table-body"))
11321138
tbodyInProgress

apps/scan/src/main/openapi/scan.yaml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,11 @@ paths:
139139
schema:
140140
"$ref": "#/components/schemas/ListDsoSequencersResponse"
141141

142-
# TODO(#19679) reconsider naming; "bft sequencers" is a bit overloaded
143142
/v0/sv-bft-sequencers:
144143
get:
145144
tags: [internal, scan]
146145
x-jvm-package: scan
147-
operationId: "listSvBFTSequencers"
146+
operationId: "listSvBftSequencers"
148147
description: |
149148
Retrieve Canton BFT sequencer configuration for this SV, for each configured Synchronizer
150149
responses:
@@ -153,7 +152,7 @@ paths:
153152
content:
154153
application/json:
155154
schema:
156-
"$ref": "#/components/schemas/ListSvBFTSequencersResponse"
155+
"$ref": "#/components/schemas/ListSvBftSequencersResponse"
157156

158157

159158
/v0/domains/{domain_id}/parties/{party_id}/participant-id:
@@ -1766,7 +1765,7 @@ components:
17661765
lastPurchasedInRound:
17671766
type: integer
17681767
format: int64
1769-
ListSvBFTSequencersResponse:
1768+
ListSvBftSequencersResponse:
17701769
type: object
17711770
required: ["bftSequencers"]
17721771
properties:

apps/scan/src/main/scala/org/lfdecentralizedtrust/splice/scan/config/BftSequencerConfig.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ package org.lfdecentralizedtrust.splice.scan.config
55

66
import com.digitalasset.canton.config.FullClientConfig
77

8-
// TODO(#19679) rename me perhaps; something ordering and/or scan and also bft sequencer is overloaded
98
case class BftSequencerConfig(
109
migrationId: Long,
1110
sequencerAdminClient: FullClientConfig,

apps/sv/frontend/src/__tests__/config-diffs.test.tsx

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@ import {
88
checkAmuletRulesExpectedConfigDiffsHTML,
99
checkDsoRulesExpectedConfigDiffsHTML,
1010
} from '@lfdecentralizedtrust/splice-common-test-utils';
11-
import { fireEvent, render, screen } from '@testing-library/react';
11+
import { render, screen } from '@testing-library/react';
1212
import userEvent from '@testing-library/user-event';
1313
import { test, expect, describe } from 'vitest';
1414

1515
import App from '../App';
1616
import { SvConfigProvider } from '../utils';
1717
import { svPartyId } from './mocks/constants';
18+
import { changeAction } from './helpers';
1819

1920
const AppWithConfig = () => {
2021
return (
@@ -56,9 +57,7 @@ describe('SV can see AmuletRules config diffs', () => {
5657
expect(await screen.findByText('Vote Requests')).toBeDefined();
5758
expect(await screen.findByText('Governance')).toBeDefined();
5859

59-
const dropdown = screen.getByTestId('display-actions');
60-
expect(dropdown).toBeDefined();
61-
fireEvent.change(dropdown!, { target: { value: action } });
60+
changeAction(action);
6261

6362
const input = screen.getByTestId('transferConfig.createFee.fee-value');
6463
await userEvent.type(input, '42');
@@ -121,9 +120,7 @@ describe('SV can see DsoRules config diffs', () => {
121120
expect(await screen.findByText('Vote Requests')).toBeDefined();
122121
expect(await screen.findByText('Governance')).toBeDefined();
123122

124-
const dropdown = screen.getByTestId('display-actions');
125-
expect(dropdown).toBeDefined();
126-
fireEvent.change(dropdown!, { target: { value: action } });
123+
changeAction(action);
127124

128125
const input = screen.getByTestId(
129126
'decentralizedSynchronizer.synchronizers.0.1.acsCommitmentReconciliationInterval-value'
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
import { screen, fireEvent } from '@testing-library/react';
4+
import { expect } from 'vitest';
5+
6+
export function changeAction(actionName: string = 'SRARC_SetConfig'): void {
7+
const dropdown = screen.getByTestId('display-actions');
8+
expect(dropdown).toBeDefined();
9+
fireEvent.change(dropdown!, { target: { value: actionName } });
10+
11+
const actionChangeDialog = screen.getByTestId('action-change-dialog');
12+
expect(actionChangeDialog).toBeDefined();
13+
const actionChangeDialogProceed = screen.getByTestId('action-change-dialog-proceed');
14+
expect(actionChangeDialogProceed).toBeDefined();
15+
fireEvent.click(actionChangeDialogProceed);
16+
}

apps/sv/frontend/src/__tests__/sv.test.tsx

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright (c) 2024 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
22
// SPDX-License-Identifier: Apache-2.0
3-
import { render, screen, fireEvent } from '@testing-library/react';
3+
import { render, screen } from '@testing-library/react';
44
import userEvent from '@testing-library/user-event';
55
import { rest } from 'msw';
66
import { mockAllIsIntersecting } from 'react-intersection-observer/test-utils';
@@ -11,6 +11,7 @@ import App from '../App';
1111
import { SvConfigProvider } from '../utils';
1212
import { svPartyId, voteRequests } from './mocks/constants';
1313
import { server, svUrl } from './setup/setup';
14+
import { changeAction } from './helpers';
1415

1516
const AppWithConfig = () => {
1617
return (
@@ -65,14 +66,12 @@ describe('An SetConfig request', () => {
6566
expect(await screen.findByText('Vote Requests')).toBeDefined();
6667
expect(await screen.findByText('Governance')).toBeDefined();
6768

68-
const dropdown = screen.getByTestId('display-actions');
69-
expect(dropdown).toBeDefined();
70-
fireEvent.change(dropdown!, { target: { value: 'CRARC_SetConfig' } });
69+
changeAction('CRARC_SetConfig');
7170

7271
expect(await screen.findByText('transferConfig.createFee.fee')).toBeDefined();
7372
expect(await screen.findByDisplayValue('0.03')).toBeDefined();
7473

75-
fireEvent.change(dropdown!, { target: { value: 'SRARC_SetConfig' } });
74+
changeAction('SRARC_SetConfig');
7675

7776
expect(await screen.findByText('numUnclaimedRewardsThreshold')).toBeDefined();
7877
expect(await screen.findByDisplayValue('10')).toBeDefined();
@@ -91,9 +90,7 @@ describe('An SetConfig request', () => {
9190
expect(await screen.findByText('Vote Requests')).toBeDefined();
9291
expect(await screen.findByText('Governance')).toBeDefined();
9392

94-
const dropdown = screen.getByTestId('display-actions');
95-
expect(dropdown).toBeDefined();
96-
fireEvent.change(dropdown!, { target: { value: 'SRARC_SetConfig' } });
93+
changeAction('SRARC_SetConfig');
9794

9895
const input = screen.getByTestId(
9996
'decentralizedSynchronizer.synchronizers.0.1.acsCommitmentReconciliationInterval-value'
@@ -134,9 +131,7 @@ describe('An SetConfig request', () => {
134131
expect(await screen.findByText('Vote Requests')).toBeDefined();
135132
expect(await screen.findByText('Governance')).toBeDefined();
136133

137-
const dropdown = screen.getByTestId('display-actions');
138-
expect(dropdown).toBeDefined();
139-
fireEvent.change(dropdown!, { target: { value: 'CRARC_SetConfig' } });
134+
changeAction('CRARC_SetConfig');
140135

141136
const input = screen.getByTestId('transferConfig.createFee.fee-value');
142137
await user.clear(input);
@@ -181,9 +176,7 @@ describe('An SetConfig request', () => {
181176
expect(await screen.findByText('Vote Requests')).toBeDefined();
182177
expect(await screen.findByText('Governance')).toBeDefined();
183178

184-
const dropdown = screen.getByTestId('display-actions');
185-
expect(dropdown).toBeDefined();
186-
fireEvent.change(dropdown!, { target: { value: 'CRARC_SetConfig' } });
179+
changeAction('CRARC_SetConfig');
187180

188181
const input = screen.getByTestId('transferConfig.createFee.fee-value');
189182
await user.clear(input);

apps/sv/frontend/src/__tests__/synchroniser-upgrade.test.tsx

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import App from '../App';
1212
import { SvConfigProvider } from '../utils';
1313
import { svPartyId } from './mocks/constants';
1414
import { server, svUrl } from './setup/setup';
15+
import { changeAction } from './helpers';
1516

1617
dayjs.extend(timezone);
1718

@@ -80,9 +81,7 @@ describe('SV user can', () => {
8081

8182
await user.click(screen.getByText('Governance'));
8283

83-
const dropdown = screen.getByTestId('display-actions');
84-
expect(dropdown).toBeDefined();
85-
fireEvent.change(dropdown!, { target: { value: 'SRARC_SetConfig' } });
84+
changeAction();
8685

8786
expect(screen.queryByText('nextScheduledSynchronizerUpgrade.time')).toBeNull();
8887
expect(await screen.findByText('nextScheduledSynchronizerUpgrade')).toBeDefined();
@@ -113,8 +112,7 @@ describe('SV user can', () => {
113112

114113
await user.click(screen.getByText('Governance'));
115114

116-
const dropdown = screen.getByTestId('display-actions');
117-
fireEvent.change(dropdown!, { target: { value: 'SRARC_SetConfig' } });
115+
changeAction();
118116

119117
const synchronizerUpgradeCheckBox = screen.getByTestId(
120118
'enable-next-scheduled-domain-upgrade'
@@ -168,9 +166,7 @@ describe('SV user can', () => {
168166

169167
await user.click(screen.getByText('Governance'));
170168

171-
const dropdown = screen.getByTestId('display-actions');
172-
fireEvent.change(dropdown!, { target: { value: 'SRARC_SetConfig' } });
173-
169+
changeAction();
174170
await fillOutForm(user);
175171

176172
const disabled = screen
@@ -201,9 +197,7 @@ describe('SV user can', () => {
201197

202198
await user.click(screen.getByText('Governance'));
203199

204-
const dropdown = screen.getByTestId('display-actions');
205-
fireEvent.change(dropdown!, { target: { value: 'SRARC_SetConfig' } });
206-
200+
changeAction();
207201
await fillOutForm(user);
208202

209203
const effectiveAtThresholdCheckBox = screen.getByTestId(
@@ -267,9 +261,7 @@ describe('SV user can', () => {
267261

268262
await user.click(screen.getByText('Governance'));
269263

270-
const dropdown = screen.getByTestId('display-actions');
271-
fireEvent.change(dropdown!, { target: { value: 'SRARC_SetConfig' } });
272-
264+
changeAction();
273265
await fillOutForm(user);
274266

275267
const effectiveDateComponent = screen.getByTestId('datetime-picker-vote-request-expiration');
@@ -334,9 +326,7 @@ describe('SV user can', () => {
334326

335327
await user.click(screen.getByText('Governance'));
336328

337-
const dropdown = screen.getByTestId('display-actions');
338-
fireEvent.change(dropdown!, { target: { value: 'SRARC_SetConfig' } });
339-
329+
changeAction();
340330
await fillOutForm(user);
341331

342332
const synchronizerUpgradeCheckBox = screen.getByTestId(
@@ -396,9 +386,7 @@ describe('SV user can', () => {
396386

397387
await user.click(screen.getByText('Governance'));
398388

399-
const dropdown = screen.getByTestId('display-actions');
400-
fireEvent.change(dropdown!, { target: { value: 'SRARC_SetConfig' } });
401-
389+
changeAction();
402390
await fillOutForm(user);
403391

404392
const effectiveAtThresholdCheckBox = screen.getByTestId(

0 commit comments

Comments
 (0)