Первый фича-файл


#1

День добрый.
Помогите создать первый фича-файл для реальной задачи. До использования VB еще далеко. Пока пытаюсь создать только фичу для дальнейшего переноса ее в тех. документацию и использования в качестве ручного “чек-листа” для приемки функционала.
Пока писал эту фичу родилось много мелких вопросов. Но с начала покритикуйте сам состав и правильность наполнения.

#encoding: utf-8
#language: ru

Функционал: Ввод новых документов на основании данных ЭА
	Как Пользователь
	Я хочу иметь возможность создания нового документа в 1С:УСО на основании данных ЭА
	Чтобы быстрее вводить данные первичных документов
		И иметь возможность открывать карточку документа в ЭА из 1С

Сценарий: Создание задачи пользователя по web-запросу ЭА
	Когда Поступает web-запрос из ЭА на установку нового номера со следующими данными:
		|Имя поля		|Значение поля									|
		|CodeEA			|123											|
		|PackNum		|2												|
		|GUID			|												|
		|DocNumIncoming	|778899											|
		|DocDateIncoming|01.07.2016										|
		|DocKindEA		|Акт на списание запасных частей и материалов	|
		|Organization	|Организация1									|
		|Contract		|?												|
		|Project		|?												|
		|DocSum			|1500											|
		|EditDate		|03.07.2016										|
		|TransferDate	|03.07.2016										|
		|Barcode		|4444											|
		|Note			|Срочно!!!										|
	Тогда Создается задача с реквизитами:
		|Имя поля				|Значение поля									|
		|КодЭА					|123											|
		|НомерПакетаЭА			|2												|
		|GUID					|												|
		|ВходящийНомерДокумента	|778899											|
		|ВходящаяДатаДокумента	|01.07.2016										|
		|ВидДокументаЭА			|Акт на списание запасных частей и материалов	|
		|Организаця				|Организация1									|
		|Договор				|?												|
		|Проект					|?												|
		|СуммаДокумента			|1500											|
		|ДатаРедактирования		|03.07.2016										|
		|ДатаПередачи			|03.07.2016										|
		|Штрихкод				|4444											|
		|Примечание				|Срочно!!!										|
	И Автоматически присваивается номер задачи "996633"
	И Назначается МНЕ как Пользователю, который отвечает за разборку задач по организации "Организация1"
	И Созданная задача появляется в списке "Мои задачи"
	И Я открываю созданную задачу
		И в открывшемся окне задачи я вижу все реквизиты задачи
		Когда в базе не найдено документа вида "Требование-накладная" с архивным номером "123" 
		Тогда на форме задачи создается гипперссылка с текстом "Создать документ Требование-накладная"
		И Кнопка "Задача выполнена" недоступна
	И Я нажимая на гиперссылку "Создать документ Требование-накладная"
	И Открывается форма нового документа "Требование-накладная", в которой заполнены поля:
		|Имя поля				|Значение поля			|
		|Дата					|01.07.2016				|
		|СуммаДокумента			|1500					| 
		|Организаця				|Организация1			|
	И Я Заполняю все необходимые для проведения поля документа
	И Я Нажимаю кнопку "Провести" или "Записать"
	И Документу присваивается номер "000345"
	И В регистр сведений "Архивные номер документов" добавляется запись с полями:
		|Имя поля				|Значение поля									|
		|ДокументСистемы		|?Требование-накладная № 000345 от 01.07.2016	|
		|Код ЭА документа		|123											| 
		|Организаця				|Организация1									|
	И В форме задачи текст гиперссылки "Создать документ Требование-накладная" изменяется на "Открыть документ Требование-накладная  № 000345 от 01.07.2016"
	И Кнопка "Задача выполнена" становится доступной
	И Я нажимаю на кнопку "Задача выполнена"
	И Задача № "996633" помечается выполненной
	И Задача № "996633" не отображается в списке "Мои задачи"

#2

И сразу несколько непонятных для меня момента.

  1. Например вот здесь:

И Я Нажимаю кнопку “Провести” или "Записать"
И Документу присваивается номер "000345"
Хочется написать
И Когда Я Нажимаю кнопку “Провести” или “Записать”
…Тогда Документу присваивается номер “000345”
…И в регистр сведений …
Т.е. как бы вложенная зависимость

  1. Далее вот здесь:

Когда в базе не найдено документа вида “Требование-накладная” с архивным номером "123"
Тогда на форме задачи создается гипперссылка с текстом "Создать документ Требование-накладная"
хочется добавить блок “ИНАЧЕ” и описать его подробно. Причем часть шагов будет пересекаться с основным “ТОГДА”

  1. Непонятно как показывать вложенные структуры. В данном примере поле “Project” - составное, с полями: Номер, Наименование, Дата.
    Как это отразить во входных данных?

  2. Поиск и создание того же “Проекта” тоже должен быть описан. Но как это вставить сюда? И куда?

  3. Для других видов документов будут похожие алгоритмы за исключением заполнения некоторых полей, которые есть только в определенных видах документов. Каждый вид документа описывать в отдельной фичи? Если нет, то как красиво это все влепить здесь?


#3

Если нужно “Если”, “Иначе” и т.д., то значит нужен новый сценарий в той же фиче. Одна фича проверяет одну функциональность разными сценариями. По поводу остальных вопросов я не понял((( Давай по порядку разберем. Уточняй)


#4

Я нутром понимаю, что для описания блока ИНАЧЕ мне необходимо создавать новый сценарий, но как именно это делать правильно?
В этом же фича-файле добавлять новый сценарий, в котором заново описывать всю вышестоящую простыню?


#5

И еще вопрос. Один сценарий в фича-файле - это описание полного набора действий или же можно сценариями разделять описание функционала на составные блоки.
Например, могу ли я написать примерно вот так:

#encoding: utf-8
#language: ru

Функционал: Ввод новых документов на основании данных ЭА
	Как Пользователь
	Я хочу иметь возможность создания нового документа в 1С:УСО на основании данных ЭА
	Чтобы быстрее вводить данные первичных документов
		И иметь возможность открывать карточку документа в ЭА из 1С

Сценарий: Создание задачи пользователя по web-запросу ЭА
	Когда Поступает web-запрос
	Тогда Создается задача
...
Сценарий: Заполнение формы задачи
	Когда Я открываю задачу 
	Тогда на форме не заполнен реквизит "Документ системы"
	И на форме...
...
Сценарий: Выбор автоматическипредложенного документа
	Когда в открытой форме задачи ..  Я нажимаю кнопку ...
	Тогда реквизит задачи ... заполняется автоматически
...
Сценарий: Выбор документа из журнала документов
	Когда в открытой форме задачи .. Я нажимаю кнопку "Выбрать документ системы"
	Тогда открывается форма выбора документов ..
	И Я выбираю документ ...
	И реквизит задачи ... заполняется выбранным документом

Здесь первые два сценария - это два последовательных укрупненных шага.
А 3-й и 4-й сценарии - это один из вариантов работы системы (функционала)

Или же надо урезать функционал текущей фичи и переносить сценарии 3 и 4 в отдельную фичу по работе с формой задачи, где будут описаны только эти два сценария?

Тогда как создать фича-файл, в который должны быть включены последовательно более мелкие фича-файлы?


#6

Разные сценарии по разным ситуациям в одной фиче - это нормально, на то они и сценарии.
Просто относиться они должны к одной функциональности (фиче).