Модульное тестирование. Реагирует на компонент без сохранения состояния, заключенный в Enzyme, с помощью withRouter ().

В таблице нет такой вещи, как «последняя» строка, так как таблица Oracle не имеет понятия порядка.

Однако, предполагая, что вы хотите найти последний вставленный первичный ключ и , что этот первичный ключ является увеличивающимся числом, вы можете сделать что-то вроде этого:

select *
  from ( select a.*, max(pk) over () as max_pk
           from my_table a
                )
 where pk = max_pk

Если у вас есть дата создания каждой строки, это станет, если столбец named created:

select *
  from ( select a.*, max(created) over () as max_created
           from my_table a
                )
 where created = max_created

В качестве альтернативы вы можете использовать агрегированный запрос, например:

select *
  from my_table
 where pk = ( select max(pk) from my_table )

Вот немного SQL Fiddle для продемонстрировать.

0
задан James Morrison 16 January 2019 в 16:41
поделиться

1 ответ

Хорошо, так что, похоже, нет никакого способа передать соответствие в качестве параметра, но я нашел довольно элегантное решение. Причиной совпадения на компоненте является то, что он выводится напрямую, он не сопоставлен ни с чем. Я обернул компонент в маршрут, который соответствует опоре initialEntries на MemoryRouter, как показано ниже.

var routerWrappedComponent= Enzyme.mount(<MemoryRouter initialEntries={[`/studio/00000000-0000-0000-0000-000000000000/manage/11111111-0000-0000-0000-000000000000`]}>
       <Route path={`/studio/:customerId/:page/:serviceId`} component={() =>  
    <RouterWrappedComponent closeModalFunction={() => { }} closeModalLinkPath={""} />
</MemoryRouter>);

и Presto, матч заполнен

match: { path: '/studio/:customerId/:page/:serviceId',
    url: '/studio/00000000-0000-0000-0000-000000000000/manage/11111111-0000-0000-0000-000000000000',
    isExact: true,
    params:
     { customerId: '00000000-0000-0000-0000-000000000000',
       page: 'manage',
       serviceId: '11111111-0000-0000-0000-000000000000' } }
0
ответ дан James Morrison 16 January 2019 в 16:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: