예제 #1
0
        public void ThenIOpenReverseTranscriptionWorkplaceAndStartNewBatch()
        {
            BDMainPage bDMainPage = new BDMainPage();

            bDMainPage.OpenReverseTranscriptionWorkplace();
            IsTrue(bDMainPage.AssertReverseTranscriptionWorkplace(), "Заголовок рабочего места не найден");

            MSDatabaseConnector _msBDConnector = new MSDatabaseConnector(Config.MSDbBatchDropperStab);
            string command        = $@"Select count ([Id]) FROM [BatchDropperStab].[dbo].[Batches] Where Status = 9 and name like 'RT-%'";
            var    countOfBatches = _msBDConnector.QueryExecutorScalar(command); // Сколько бэтчей со статусом "Сформирован"
            int    intCount;

            intCount = System.Convert.ToInt32(countOfBatches); // перевод количества в int

            if (intCount != 0)
            {
                for (int i = 1; i <= intCount; i++)
                {
                    Debug.WriteLine(i);
                    // иконка Взять в работу - подтвердить взять в работу
                    BDReagentsWorkplacePage bDReagentsWorkplacePage = new BDReagentsWorkplacePage();
                    bDReagentsWorkplacePage.ClickTakeToWorkButton();
                    bDReagentsWorkplacePage.ClickConfirmTakeToWorkButton();
                    CommonSteps commonSteps = new CommonSteps();
                    commonSteps.ThenThePopupWithTitleShouldBeClosed(); // закрыть окно с распечаткой
                    // скопипастить идентификатор и вставить его в поле ввода
                    bDReagentsWorkplacePage.SetTestBatchID();
                    // подтвердить ШК пользователя
                    bDReagentsWorkplacePage.SetUsercode();
                    // в поле "Личный штрих-код пользователя для следующего теста" вводить шк пользователя пока поле не станет
                    //с названием "Личный штрих-код пользователя для завершения"
                    if (!bDReagentsWorkplacePage.ConfirmUserCodeForEnding.Exists())
                    {
                        IsTrue(bDReagentsWorkplacePage.AssertThefieldIsActive(), "Поле для ввода не найдено или заблокировано");
                        bDReagentsWorkplacePage.FillOutTheReagents();
                    }
                    // ввести шк пользователя в поле "Личный штрих-код пользователя для завершения"
                    IsTrue(bDReagentsWorkplacePage.AssertConfirmUserCodeForEndingField(), "Поле для окончания ввода не найдено или заблокировано");
                    bDReagentsWorkplacePage.ConfirmUserCodeForEndingReagents();
                    // получить всплывающее сообщение. Автопереход к раскапыванию контролей
                    IsTrue(bDReagentsWorkplacePage.AssertReadyMessage(), "Сообщение о раскапанных реагентах не пришло");

                    BDTubesManualDrippingPage bDTubesManualDrippingPage = new BDTubesManualDrippingPage(); // переход от реагентов к ручному раскапыванию
                    System.Threading.Thread.Sleep(500);                                                    // костыль, но без него все сыпется
                    bDTubesManualDrippingPage.AddClipboardCopyOfBatches();                                 //раскапать бэтчи
                    bDTubesManualDrippingPage.AddClipboardCopyOfTubes();                                   // раскапать пробы
                    bDTubesManualDrippingPage.ConfurmEndOfWorkRT();                                        // подтвердить завершение раскапывания личным ШК пока есть поле для ввода

                    IsTrue(bDTubesManualDrippingPage.AssertBatchWithRTCompliteMessage(), "Сообщение о собранном бэтче не пришло");
                    commonSteps.ThenThePopupWithTitleShouldBeClosed(); // закрыть окно с распечаткой

                    IsTrue(bDReagentsWorkplacePage.AssertTableOfBatches(), "Автоматический возврат на таблицу с бэтчами не сработал");
                }
            }
        }