Skip to content

docs: update Russian translation #1215

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 26, 2019
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
1 change: 1 addition & 0 deletions docs/ru/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,6 @@ Vue Test Utils — официальная библиотека модульно
- [TransitionGroupStub](api/components/TransitionGroupStub.md)
- [RouterLinkStub](api/components/RouterLinkStub.md)
- [Селекторы](api/selectors.md)
- [createWrapper](api/createWrapper.md)
- [createLocalVue](api/createLocalVue.md)
- [Конфигурация](api/config.md)
2 changes: 1 addition & 1 deletion docs/ru/api/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Vue Test Utils включает объект конфигурации для определения опций, используемых Vue Test Utils.

### Конфигурация настроек Vue Test Utils
### Настройки Vue Test Utils

### `stubs`

Expand Down
26 changes: 26 additions & 0 deletions docs/ru/api/createWrapper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## createWrapper(node [, options])

- **Аргументы:**

- `{vm|HTMLElement} node`
- `{Object} options`
- `{Boolean} sync`
- `{Boolean} attachedToDocument`

- **Возвращает:**

- `{Wrapper}`

- **Использование:**

`createWrapper` создает `Wrapper` для смонтированного экземпляра Vue или HTML-элемента.

```js
import { createWrapper } from '@vue/test-utils'
import Foo from './Foo.vue'

const Constructor = Vue.extend(Foo)
const vm = new Constructor().$mount()
const wrapper = createWrapper(vm)
expect(wrapper.vm.foo).toBe(true)
```
47 changes: 34 additions & 13 deletions docs/ru/api/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,28 @@

Опции для `mount` и `shallowMount`. Объект опций может содержать как настройки монтирования Vue Test Utils, так и другие опции Vue.

- [`context`](#context)
- [`slots`](#slots)
- [`scopedSlots`](#scopedslots)
- [`stubs`](#stubs)
- [`mocks`](#mocks)
- [`localVue`](#localvue)
- [`attachToDocument`](#attachtodocument)
- [`propsData`](#propsdata)
- [`attrs`](#attrs)
- [`listeners`](#listeners)
- [`parentComponent`](#parentcomponent)
- [`provide`](#provide)
- [`sync`](#sync)
:::tip СОВЕТ
Кроме опций, описанных ниже, объект `options` может содержать любую опцию, которую можно указать при вызове `new Vue ({ /* опции здесь */ })`.
Эти опции будут объединены с существующими опциями компонента при монтировании с помощью `mount` / `shallowMount`

[См. другие опции в примере](#other-options)
:::

- [Опции монтирования](#%D0%BE%D0%BF%D1%86%D0%B8%D0%B8-%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
- [context](#context)
- [slots](#slots)
- [scopedSlots](#scopedslots)
- [stubs](#stubs)
- [mocks](#mocks)
- [localVue](#localvue)
- [attachToDocument](#attachtodocument)
- [attrs](#attrs)
- [propsData](#propsdata)
- [listeners](#listeners)
- [parentComponent](#parentcomponent)
- [provide](#provide)
- [sync](#sync)
- [Другие опции](#%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5-%D0%BE%D0%BF%D1%86%D0%B8%D0%B8)

## context

Expand Down Expand Up @@ -108,6 +117,16 @@ shallowMount(Component, {

Или вы можете использовать JSX. Если вы пишете JSX в методе, `this.$createElement` автоматически внедряется babel-plugin-transform-vue-jsx:

```js
shallowMount(Component, {
scopedSlots: {
foo(props) {
return <div>{props.text}</div>
}
}
})
```

## stubs

- Тип: `{ [name: string]: Component | boolean } | Array<string>`
Expand Down Expand Up @@ -190,6 +209,8 @@ expect(wrapper.vm.$route).toBeInstanceOf(Object)

Компонент будет прикрепляться к DOM при рендеринге, если установлено в `true`.

Если компонент прикреплен к DOM, вы должны вызвать `wrapper.destroy()` в конце вашего теста для того, чтобы удалить отрисованные элементы из документа и удалить экземпляр компонента.

## attrs

- Тип: `Object`
Expand Down
7 changes: 6 additions & 1 deletion docs/ru/api/wrapper/attributes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
## attributes()

Возвращает объект атрибута DOM-узла `Wrapper`.
Возвращает объект атрибутов DOM-узла `Wrapper`. Если аргумент `key` присутствует, метод вернёт значение атрибута, заданного через `key`.

- **Аргументы:**

- `{string} key` **опционально**

- **Возвращает:** `{[attribute: string]: any}`

Expand All @@ -12,4 +16,5 @@ import Foo from './Foo.vue'

const wrapper = mount(Foo)
expect(wrapper.attributes().id).toBe('foo')
expect(wrapper.attributes('id')).toBe('foo')
```
7 changes: 6 additions & 1 deletion docs/ru/api/wrapper/classes.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

Возвращает классы DOM-узла `Wrapper`.

Возвращает массив имён классов.
Возвращает массив имён классов. Либо `true`/`false` если передано имя класса.

- **Аргументы:**

- `{string} className` **опционально**

- **Возвращает:** `Array<{string}>`

Expand All @@ -14,4 +18,5 @@ import Foo from './Foo.vue'

const wrapper = mount(Foo)
expect(wrapper.classes()).toContain('bar')
expect(wrapper.classes('bar')).toBe(true)
```
4 changes: 4 additions & 0 deletions docs/ru/api/wrapper/destroy.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,7 @@ mount({
}).destroy()
expect(spy.calledOnce).toBe(true)
```

Если опция `attachToDocument` была `true` при монтировании, DOM элементы компонента будут также удалены из документа.

Для функциональных компонентов, `destroy` только удаляет отрисованные элементы DOM из документа.
2 changes: 1 addition & 1 deletion docs/ru/api/wrapper/html.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## html()

Возвращает HTML `Wrapper` DOM-узла в виде строки.
Возвращает HTML-код DOM-узла `Wrapper`а в виде строки.

- **Возвращает:** `{string}`

Expand Down
7 changes: 6 additions & 1 deletion docs/ru/api/wrapper/props.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
## props()

Возвращает объект с входными параметрами `vm` для `Wrapper`.
Возвращает объект с входными параметрами `vm` для `Wrapper`. Если `key` передан, метод вернёт значения свойства с именем `key`.

**Обратите внимание что Wrapper должен содержать экземпляр Vue.**

- **Принимает:**

- `{string} key` **опйионально**

- **Возвращает:** `{[prop: string]: any}`

- **Пример:**
Expand All @@ -18,4 +22,5 @@ const wrapper = mount(Foo, {
}
})
expect(wrapper.props().bar).toBe('baz')
expect(wrapper.props('bar')).toBe('baz')
```
4 changes: 2 additions & 2 deletions docs/ru/api/wrapper/setChecked.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ import { mount } from '@vue/test-utils'
import Foo from './Foo.vue'

const wrapper = mount(Foo)
const option = wrapper.find('input[type="radio"]')
option.setChecked()
const radioInput = wrapper.find('input[type="radio"]')
radioInput.setChecked()
```

- **Примечание:**
Expand Down
4 changes: 2 additions & 2 deletions docs/ru/api/wrapper/setValue.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import Foo from './Foo.vue'

const wrapper = mount(Foo)

const input = wrapper.find('input[type="text"]')
input.setValue('some value')
const textInput = wrapper.find('input[type="text"]')
textInput.setValue('some value')

const select = wrapper.find('select')
select.setValue('option value')
Expand Down
50 changes: 50 additions & 0 deletions docs/ru/guides/common-tips.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,56 @@ expect(wrapper.emitted().foo[1]).toEqual([123])

Вы также можете получить массив событий в порядке их вызова с помощью [`wrapper.emittedByOrder()`](../api/wrapper/emittedByOrder.md).

### События дочерних компонентов

Вы можете создавать пользовательские события в дочерних компонентах получая доступ к экземпляру.

**Тестируемый компонент**

```html
<template>
<div>
<child-component @custom="onCustom" />
<p v-if="emitted">Emitted!</p>
</div>
</template>

<script>
import ChildComponent from './ChildComponent'

export default {
name: 'ParentComponent',
components: { ChildComponent },
data() {
return {
emitted: false
}
},
methods: {
onCustom() {
this.emitted = true
}
}
}
</script>
```

**Тест**

```js
import { shallowMount } from '@vue/test-utils'
import ParentComponent from '@/components/ParentComponent'
import ChildComponent from '@/components/ChildComponent'

describe('ParentComponent', () => {
it("displays 'Emitted!' when custom event is emitted", () => {
const wrapper = shallowMount(ParentComponent)
wrapper.find(ChildComponent).vm.$emit('custom')
expect(wrapper.html()).toContain('Emitted!')
})
})
```

### Манипулирование состоянием компонента

Вы можете напрямую манипулировать состоянием компонента с помощью методов `setData` или `setProps` на обёртке:
Expand Down
10 changes: 8 additions & 2 deletions docs/ru/guides/dom-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,17 @@ wrapper.trigger('click', { button: 0 })
<button class="no" @click="callNo">No</button>
</div>
</template>

<script>
export default {
name: 'YesNoComponent',

props: {
callMe: {
type: Function
}
},

methods: {
callYes() {
this.callMe('yes')
Expand All @@ -69,7 +72,7 @@ import { mount } from '@vue/test-utils'
import sinon from 'sinon'

describe('Click event', () => {
it('Нажатие на кнопке yes вызывает наш метод с аргументом "yes"', () => {
it('Нажатие на кнопку yes вызывает наш метод с аргументом "yes"', () => {
const spy = sinon.spy()
const wrapper = mount(YesNoComponent, {
propsData: {
Expand All @@ -93,6 +96,7 @@ describe('Click event', () => {
<template>
<input type="text" @keydown.prevent="onKeydown" v-model="quantity" />
</template>

<script>
const KEY_DOWN = 40
const KEY_UP = 38
Expand All @@ -104,6 +108,7 @@ describe('Click event', () => {
quantity: 0
}
},

methods: {
increment() {
this.quantity += 1
Expand All @@ -129,6 +134,7 @@ describe('Click event', () => {
}
}
},

watch: {
quantity: function(newValue) {
this.$emit('input', newValue)
Expand All @@ -150,7 +156,7 @@ describe('Тестирование событий клавиш', () => {
expect(wrapper.vm.quantity).toBe(0)
})

it('Клавиша вверх устанавливает quantity равным 1', () => {
it('Клавиша вверх увеличивает quantity на 1', () => {
const wrapper = mount(QuantityComponent)
wrapper.trigger('keydown.up')
expect(wrapper.vm.quantity).toBe(1)
Expand Down
6 changes: 4 additions & 2 deletions docs/ru/guides/testing-single-file-components-with-jest.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,18 +182,20 @@ test('renders correctly', () => {
})
```

Мы можем улучшить сохраненный снимок с помощью пользовательского сериализатора:

```bash
npm install --save-dev jest-serializer-vue
```

Затем добавьте конфигурацию в `package.json`:
Затем настройте `jest-serializer-vue` в `package.json`:

```json
{
// ...
"jest": {
// ...
// serializer for snapshots
// сериализатор для снимков
"snapshotSerializers": ["jest-serializer-vue"]
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Тестирование однофайловых компонентов с Mocha + webpack
## Тестирование однофайловых компонентов с Mocha и webpack

> Пример проекта для этой конфигурации доступен на [GitHub](https://github.com/vuejs/vue-test-utils-mocha-webpack-example).

Expand Down
8 changes: 4 additions & 4 deletions docs/ru/guides/using-with-typescript.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ $ vue create hello-world
Если вы хотите получить более подробное руководство по настройке Vue с помощью TypeScript, ознакомьтесь с [руководством для начинающих по TypeScript во Vue](https://github.com/Microsoft/TypeScript-Vue-Starter).
:::

Следующий шаг — добавить Jest к проекту.
Следующий шаг — добавить Jest в проект.

### Настройка Jest

Expand Down Expand Up @@ -90,7 +90,7 @@ npm install --save-dev vue-jest
$ npm install --save-dev ts-jest
```

Затем нам нужно указать Jest обработать тестовые файлы TypeScript с помощью `ts-jest`, добавив запись в `jest.transform` в `package.json`:
Затем нам нужно указать Jest обрабатывать тестовые файлы TypeScript с помощью `ts-jest`, добавив запись в `jest.transform` в `package.json`:

```json
{
Expand Down Expand Up @@ -125,7 +125,7 @@ $ npm install --save-dev ts-jest
}
```

Jest рекомендует создать каталог `__tests__` рядом с тестируемым кодом, но не стесняйтесь структурировать ваши тесты по своему усмотрению. Просто остерегайтесь того, что Jest создаст каталог `__snapshots__` рядом с тестовыми файлами, которые выполняют тестирование моментальными снимками.
Jest рекомендует создать каталог `__tests__` рядом с тестируемым кодом, но не стесняйтесь структурировать ваши тесты по своему усмотрению. Просто помните, что Jest создаст каталог `__snapshots__` рядом с тестовыми файлами, которые выполняют тестирование моментальными снимками.

### Написание модульного теста

Expand All @@ -139,7 +139,7 @@ import { shallowMount } from '@vue/test-utils'
import HelloWorld from '../HelloWorld.vue'

describe('HelloWorld.vue', () => {
test('renders props.msg when passed', () => {
test('отрисовывает props.msg, если они переданы', () => {
const msg = 'new message'
const wrapper = shallowMount(HelloWorld, {
propsData: { msg }
Expand Down
Loading