Skip to content

Commit

Permalink
Move validators mocks to a separate file
Browse files Browse the repository at this point in the history
  • Loading branch information
thesan committed Jan 19, 2024
1 parent b1f1667 commit 2c31c9c
Show file tree
Hide file tree
Showing 7 changed files with 104 additions and 212 deletions.
67 changes: 6 additions & 61 deletions packages/ui/src/app/App.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import {
RegisterBackendMemberDocument,
} from '@/memberships/queries/__generated__/backend.generated'
import { Membership, member } from '@/mocks/data/members'
import { validators } from '@/mocks/data/validators'
import { Container, getButtonByText, joy, selectFromDropdown, withinModal } from '@/mocks/helpers'
import { MocksParameters } from '@/mocks/providers'

Expand Down Expand Up @@ -125,69 +126,13 @@ export default {
council: { stage: { stage: { isIdle: true }, changedAt: 123 } },
referendum: { stage: {} },
staking: {
bonded: {
multi: [
'j4RLnWh3DWgc9u4CMprqxfBhq3kthXhvZDmnpjEtETFVm446D',
'j4RbTjvPyaufVVoxVGk5vEKHma1k7j5ZAQCaAL9qMKQWKAswW',
'j4Rc8VUXGYAx7FNbVZBFU72rQw3GaCuG2AkrUQWnWTh5SpemP',
'j4Rh1cHtZFAQYGh7Y8RZwoXbkAPtZN46FmuYpKNiR3P2Dc2oz',
'j4RjraznxDKae1aGL2L2xzXPSf8qCjFbjuw9sPWkoiy1UqWCa',
'j4RuqkJ2Xqf3NTVRYBUqgbatKVZ31mbK59fWnq4ZzfZvhbhbN',
'j4RxTMa1QVucodYPfQGA2JrHxZP944dfJ8qdDDYKU4QbJCWNP',
'j4Rxkb1w9yB6WXroB2npKjRJJxwxbD8JjSQwMZFB31cf5aZAJ',
'j4RyLBbSUBvipuQLkjLyUGeFWEzmrnfYdpteDa2gYNoM13qEg',
'j4ShWRXxTG4K5Q5H7KXmdWN8HnaaLwppqM7GdiSwAy3eTLsJt',
'j4WfB3TD4tFgrJpCmUi8P3wPp3EocyC5At9ZM2YUpmKGJ1FWM',
],
},
validators: {
entries: [
[
{ args: ['5FLSigC9HGRKVhB9FiEo4Y3koPsNmBmLJbpXg2mp1hXcS59Y'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['5DAAnrj7VHTznn2AWBemMuyBwZWs6FNFjdyVXUeYum3PTXFy'] },
{ commission: 0.1 * 10 ** 9, blocked: false },
],
[
{ args: ['j4Rc8VUXGYAx7FNbVZBFU72rQw3GaCuG2AkrUQWnWTh5SpemP'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['j4Rh1cHtZFAQYGh7Y8RZwoXbkAPtZN46FmuYpKNiR3P2Dc2oz'] },
{ commission: 0.15 * 10 ** 9, blocked: false },
],
[
{ args: ['j4RjraznxDKae1aGL2L2xzXPSf8qCjFbjuw9sPWkoiy1UqWCa'] },
{ commission: 0.2 * 10 ** 9, blocked: false },
],
[
{ args: ['j4RuqkJ2Xqf3NTVRYBUqgbatKVZ31mbK59fWnq4ZzfZvhbhbN'] },
{ commission: 0.01 * 10 ** 9, blocked: false },
],
[
{ args: ['j4RxTMa1QVucodYPfQGA2JrHxZP944dfJ8qdDDYKU4QbJCWNP'] },
{ commission: 0.03 * 10 ** 9, blocked: false },
],
[
{ args: ['j4Rxkb1w9yB6WXroB2npKjRJJxwxbD8JjSQwMZFB31cf5aZAJ'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['j4RyLBbSUBvipuQLkjLyUGeFWEzmrnfYdpteDa2gYNoM13qEg'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['j4ShWRXxTG4K5Q5H7KXmdWN8HnaaLwppqM7GdiSwAy3eTLsJt'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['j4WfB3TD4tFgrJpCmUi8P3wPp3EocyC5At9ZM2YUpmKGJ1FWM'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
],
entries: Object.entries(validators).map(([address, { commission }]) => [
{ args: [address] },
{ commission, blocked: false },
]),
},
bonded: { multi: Object.keys(validators) },
},
},

Expand Down
67 changes: 6 additions & 61 deletions packages/ui/src/app/pages/Profile/MyMemberships.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
GetMembersWithDetailsDocument,
} from '@/memberships/queries'
import { Membership, member } from '@/mocks/data/members'
import { validators } from '@/mocks/data/validators'
import { Container, getButtonByText, joy, selectFromDropdown, withinModal } from '@/mocks/helpers'
import { MocksParameters } from '@/mocks/providers'

Expand Down Expand Up @@ -71,69 +72,13 @@ export default {
members: { membershipPrice: joy(20) },
membershipWorkingGroup: { budget: joy(166666_66) },
staking: {
bonded: {
multi: [
'j4RLnWh3DWgc9u4CMprqxfBhq3kthXhvZDmnpjEtETFVm446D',
'j4RbTjvPyaufVVoxVGk5vEKHma1k7j5ZAQCaAL9qMKQWKAswW',
'j4Rc8VUXGYAx7FNbVZBFU72rQw3GaCuG2AkrUQWnWTh5SpemP',
'j4Rh1cHtZFAQYGh7Y8RZwoXbkAPtZN46FmuYpKNiR3P2Dc2oz',
'j4RjraznxDKae1aGL2L2xzXPSf8qCjFbjuw9sPWkoiy1UqWCa',
'j4RuqkJ2Xqf3NTVRYBUqgbatKVZ31mbK59fWnq4ZzfZvhbhbN',
'j4RxTMa1QVucodYPfQGA2JrHxZP944dfJ8qdDDYKU4QbJCWNP',
'j4Rxkb1w9yB6WXroB2npKjRJJxwxbD8JjSQwMZFB31cf5aZAJ',
'j4RyLBbSUBvipuQLkjLyUGeFWEzmrnfYdpteDa2gYNoM13qEg',
'j4ShWRXxTG4K5Q5H7KXmdWN8HnaaLwppqM7GdiSwAy3eTLsJt',
'j4WfB3TD4tFgrJpCmUi8P3wPp3EocyC5At9ZM2YUpmKGJ1FWM',
],
},
validators: {
entries: [
[
{ args: ['j4RLnWh3DWgc9u4CMprqxfBhq3kthXhvZDmnpjEtETFVm446D'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['j4RbTjvPyaufVVoxVGk5vEKHma1k7j5ZAQCaAL9qMKQWKAswW'] },
{ commission: 0.1 * 10 ** 9, blocked: false },
],
[
{ args: ['j4Rc8VUXGYAx7FNbVZBFU72rQw3GaCuG2AkrUQWnWTh5SpemP'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['j4Rh1cHtZFAQYGh7Y8RZwoXbkAPtZN46FmuYpKNiR3P2Dc2oz'] },
{ commission: 0.15 * 10 ** 9, blocked: false },
],
[
{ args: ['j4RjraznxDKae1aGL2L2xzXPSf8qCjFbjuw9sPWkoiy1UqWCa'] },
{ commission: 0.2 * 10 ** 9, blocked: false },
],
[
{ args: ['j4RuqkJ2Xqf3NTVRYBUqgbatKVZ31mbK59fWnq4ZzfZvhbhbN'] },
{ commission: 0.01 * 10 ** 9, blocked: false },
],
[
{ args: ['j4RxTMa1QVucodYPfQGA2JrHxZP944dfJ8qdDDYKU4QbJCWNP'] },
{ commission: 0.03 * 10 ** 9, blocked: false },
],
[
{ args: ['j4Rxkb1w9yB6WXroB2npKjRJJxwxbD8JjSQwMZFB31cf5aZAJ'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['j4RyLBbSUBvipuQLkjLyUGeFWEzmrnfYdpteDa2gYNoM13qEg'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['j4ShWRXxTG4K5Q5H7KXmdWN8HnaaLwppqM7GdiSwAy3eTLsJt'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
[
{ args: ['j4WfB3TD4tFgrJpCmUi8P3wPp3EocyC5At9ZM2YUpmKGJ1FWM'] },
{ commission: 0.05 * 10 ** 9, blocked: false },
],
],
entries: Object.entries(validators).map(([address, { commission }]) => [
{ args: [address] },
{ commission, blocked: false },
]),
},
bonded: { multi: Object.keys(validators) },
},
},
derive: {
Expand Down
85 changes: 6 additions & 79 deletions packages/ui/src/app/pages/Validators/ValidatorList.stories.tsx
Original file line number Diff line number Diff line change
@@ -1,91 +1,18 @@
import { expect } from '@storybook/jest'
import { Meta, StoryObj } from '@storybook/react'
import { userEvent, waitFor, within } from '@storybook/testing-library'
import { of } from 'rxjs'

import { GetMembersWithDetailsDocument } from '@/memberships/queries'
import { member } from '@/mocks/data/members'
import { validators } from '@/mocks/data/validators'
import { joy, selectFromDropdown } from '@/mocks/helpers'
import { MocksParameters } from '@/mocks/providers'

import { ValidatorList } from './ValidatorList'

type Args = object

const validators = {
j4RLnWh3DWgc9u4CMprqxfBhq3kthXhvZDmnpjEtETFVm446D: {
commission: 0.05 * 10 ** 9,
totalStake: joy(400),
ownStake: joy(0.0001),
nominators: {
j4WGdFxqTkyAgzJiTbEBeRseP12dPEvJgf2Wy9qkPa68XSP55: { stake: joy(0.2) },
j4UQEfPFnKwGuHytxs9YEouLnhnSNkPDgNm9tKeB7an3dRaiy: { stake: joy(0.2) },
},
},
j4RbTjvPyaufVVoxVGk5vEKHma1k7j5ZAQCaAL9qMKQWKAswW: {
commission: 0.1 * 10 ** 9,
totalStake: joy(400),
ownStake: joy(0.0001),
nominators: {
j4T3XgRMUaZZL6GsMk6RXfBcjuMWxfSLnoATYkBTHh7xyjmoH: { stake: joy(0.2) },
j4UQEfPFnKwGuHytxs9YEouLnhnSNkPDgNm9tKeB7an3dRaiy: { stake: joy(0.2) },
j4W2bw7ggG69e9TZ77RP9mjem1GrbPwpbKYK7WdZiym77yzMJ: { stake: joy(0.2) },
j4UzoJUhDGpnsCWrmx9ojofwaT8KHz3azp8C1S49MSN6rYjim: { stake: joy(0.2) },
},
},
j4Rc8VUXGYAx7FNbVZBFU72rQw3GaCuG2AkrUQWnWTh5SpemP: {
commission: 0.05 * 10 ** 9,
totalStake: joy(400),
ownStake: joy(0.0001),
nominators: {
j4SgrgDrzzGyfrxPe4ZgaKfByKyLo5SdsUXNfHzZJPh5R6f8q: { stake: joy(0.2) },
j4UQEfPFnKwGuHytxs9YEouLnhnSNkPDgNm9tKeB7an3dRaiy: { stake: joy(0.2) },
j4RLnWh3DWgc9u4CMprqxfBhq3kthXhvZDmnpjEtETFVm446D: { stake: joy(0.2) },
j4RxTMa1QVucodYPfQGA2JrHxZP944dfJ8qdDDYKU4QbJCWNP: { stake: joy(0.2) },
},
},
j4Rh1cHtZFAQYGh7Y8RZwoXbkAPtZN46FmuYpKNiR3P2Dc2oz: {
commission: 0.15 * 10 ** 9,
totalStake: joy(400),
ownStake: joy(0.0001),
nominators: {
j4Rxkb1w9yB6WXroB2npKjRJJxwxbD8JjSQwMZFB31cf5aZAJ: { stake: joy(0.2) },
j4UQEfPFnKwGuHytxs9YEouLnhnSNkPDgNm9tKeB7an3dRaiy: { stake: joy(0.2) },
j4RyLBbSUBvipuQLkjLyUGeFWEzmrnfYdpteDa2gYNoM13qEg: { stake: joy(0.2) },
},
},
j4RjraznxDKae1aGL2L2xzXPSf8qCjFbjuw9sPWkoiy1UqWCa: {
commission: 0.2 * 10 ** 9,
totalStake: joy(400),
ownStake: joy(0.0001),
nominators: {
j4WwTZ3fnkoXJw3D1vGVyymjaiLxM78TGyAAX41JRH8Kx6T2u: { stake: joy(0.2) },
j4UQEfPFnKwGuHytxs9YEouLnhnSNkPDgNm9tKeB7an3dRaiy: { stake: joy(0.2) },
j4WqZwj6KjB4DbxknxyJB1ZkeVrPRGmg6DUGw2YkuAy7jUERg: { stake: joy(0.2) },
j4Wo9377XBAvhmB35J4TkpJUHnUKmyccXhGtHCVvi6pPr9so8: { stake: joy(0.2) },
},
},
j4RuqkJ2Xqf3NTVRYBUqgbatKVZ31mbK59fWnq4ZzfZvhbhbN: {
commission: 0.01 * 10 ** 9,
totalStake: joy(400),
ownStake: joy(0.0001),
},
j4RxTMa1QVucodYPfQGA2JrHxZP944dfJ8qdDDYKU4QbJCWNP: {
commission: 0.03 * 10 ** 9,
totalStake: joy(400),
ownStake: joy(0.0001),
},
j4Rxkb1w9yB6WXroB2npKjRJJxwxbD8JjSQwMZFB31cf5aZAJ: {
commission: 0.05 * 10 ** 9,
totalStake: joy(400),
ownStake: joy(0.0001),
},
j4RyLBbSUBvipuQLkjLyUGeFWEzmrnfYdpteDa2gYNoM13qEg: {
commission: 0.05 * 10 ** 9,
totalStake: joy(400),
ownStake: joy(0.0001),
},
}

const activeEra = {
index: 700,
start: Date.now() - 5400000,
Expand Down Expand Up @@ -142,8 +69,8 @@ export default {
},

session: {
validators: Object.entries(validators).flatMap(([address, data]) =>
'nominators' in data ? address : []
validators: of(
Object.entries(validators).flatMap(([address, data]) => ('nominators' in data ? address : []))
),
},

Expand Down Expand Up @@ -205,12 +132,12 @@ export const TestsFilters: Story = {
await waitFor(() => expect(screen.queryAllByRole('button', { name: 'Nominate' })).toHaveLength(3))
expect(screen.queryByText('unverifed')).toBeNull()
expect(screen.getAllByText('alice').length).toEqual(2)
expect(screen.queryByText('bob')).toBeNull()
expect(screen.queryByText('dave')).toBeNull()
await selectFromDropdown(screen, verificationFilter, 'unverified')
await waitFor(() => expect(screen.queryAllByRole('button', { name: 'Nominate' })).toHaveLength(6))
expect(screen.queryByText('verifed')).toBeNull()
expect(screen.queryByText('alice')).toBeNull()
expect(screen.getByText('bob'))
expect(screen.getByText('dave'))
await selectFromDropdown(screen, verificationFilter, 'All')
})
await step('State Filter', async () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import * as Yup from 'yup'
import { SelectAccount, SelectedAccount } from '@/accounts/components/SelectAccount'
import { useMyAccounts } from '@/accounts/hooks/useMyAccounts'
import { accountOrNamed } from '@/accounts/model/accountOrNamed'
import { encodeAddress } from '@/accounts/model/encodeAddress'
import { Account } from '@/accounts/types'
import { TermsRoutes } from '@/app/constants/routes'
import { ButtonGhost, ButtonPrimary } from '@/common/components/buttons'
Expand Down Expand Up @@ -154,18 +153,15 @@ export const BuyMembershipForm = ({
'validatorAccountCandidate',
])

const validators = useValidators({ skip: isValidator ?? true })
const validators = useValidators({ skip: !isValidator ?? true })
const [validatorAccounts, setValidatorAccounts] = useState<Account[]>([])
const validatorAddresses = useMemo(
() =>
validators
?.flatMap(({ stashAccount: stash, controllerAccount: ctrl }) => (ctrl ? [stash, ctrl] : [stash]))
.map(encodeAddress),
() => validators?.flatMap(({ stashAccount: stash, controllerAccount: ctrl }) => (ctrl ? [stash, ctrl] : [stash])),
[validators]
)

const isValidValidatorAccount = useMemo(
() => validatorAccountCandidate && validatorAddresses?.includes(encodeAddress(validatorAccountCandidate.address)),
() => validatorAccountCandidate && validatorAddresses?.includes(validatorAccountCandidate.address),
[validatorAccountCandidate, validatorAddresses]
)

Expand Down Expand Up @@ -302,7 +298,7 @@ export const BuyMembershipForm = ({
<SelectAccount
id="select-validatorAccount"
name="validatorAccountCandidate"
filter={(account) => !!validatorAddresses?.includes(encodeAddress(account.address))}
filter={(account) => !!validatorAddresses?.includes(account.address)}
/>
</InputComponent>
<ButtonPrimary
Expand Down
4 changes: 2 additions & 2 deletions packages/ui/src/mocks/data/raw/members.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"metadata": {
"name": "soluta voluptas",
"about": "Nulla corporis quo dolorem. Sint quia dignissimos. Et sit dolore fuga in alias voluptatibus. Natus repudiandae debitis exercitationem quasi aut. Alias in expedita aut provident in quia quod doloremque ipsum.\n \rDistinctio provident pariatur alias ut hic ipsa eum doloremque. Harum ipsum quae aut quod consequatur laboriosam delectus minus aut. Ea eaque ducimus. Ut quia ex molestiae et.\n \rVoluptatibus rem perferendis molestiae. Quia quibusdam optio quo sed error voluptas occaecati. Ratione voluptates consequatur rerum numquam. Voluptas dignissimos soluta voluptatem reprehenderit ea fuga et inventore. Blanditiis amet quasi nihil et ad rerum molestiae sed officiis.",
"isVerifiedValidator": false
"isVerifiedValidator": true
},
"isVerified": true,
"isFoundingMember": true,
Expand Down Expand Up @@ -92,7 +92,7 @@
"metadata": {
"name": "architecto deleniti",
"about": "Cumque vero a aspernatur esse optio. Libero saepe voluptatem est est qui. Velit quidem sed. Aliquid temporibus id ea aut vel qui recusandae magni. Aliquam cupiditate cupiditate aut doloribus sit nemo. Aliquid ut iure ullam non.",
"isVerifiedValidator": true
"isVerifiedValidator": false
},
"isVerified": true,
"isFoundingMember": true,
Expand Down
Loading

0 comments on commit 2c31c9c

Please sign in to comment.