Пример #1
0
        public void TestRemovalContactFromGroup()
        {
            // получить список групп (из БД)
            // найти группу где есть хоть один контакт (из БД)
            // открыть контакты и выбрать эту группу в фильтре
            // выбрать контакт в списке и удалить его
            // получить новый список контактов в выбранно группе
            // удалить удаленный контакт из первого списка и сравнить

            List <GroupData>   grList = AddressBookDBHelper.GetAllGroups();
            List <ContactData> cdList = AddressBookDBHelper.GetAllContacts();

            if (cdList.Count == 0)
            {
                new ContactsTests().ContactCreationTest(ContactsTests.ContactProvider().GetEnumerator().Current);
                cdList = AddressBookDBHelper.GetAllContacts();
            }

            if (grList.Count == 0)
            {
                GroupCreationTest(GroupsCreator().ElementAt(0));
                grList = AddressBookDBHelper.GetAllGroups();
            }

            ContactData victumContact = null;
            GroupData   victumGroup   = null;

            List <ContactData> oldList = null;

            foreach (GroupData gr in AddressBookDBHelper.GetAllGroups())
            {
                oldList = AddressBookDBHelper.GetContactsInGroup(gr);
                if (oldList.Count > 0)
                {
                    victumGroup = gr;
                    break;
                }
            }

            if (victumGroup == null)
            {
                // All groups are empty
                Assert.Warn("All groups are empty");
                victumGroup   = AddressBookDBHelper.GetAllGroups().First();
                victumContact = AddressBookDBHelper.GetAllContacts().First();
                TestAddingContactToGroupActionPart(victumGroup, victumContact);
            }
            else
            {
                victumContact = oldList.First();
            }



            // а теперь сами проверки по удалению группы...

            app.mContactsHelper.GoToContacts()
            .SelectGroupFilter(victumGroup.Name)
            .SelectContact(victumContact.Id)
            .CommitRemoveContactFromGroup();


            List <ContactData> newList = AddressBookDBHelper.GetContactsInGroup(victumGroup);

            oldList.Remove(victumContact);

            newList.Sort();
            oldList.Sort();
            Assert.AreEqual(oldList, newList);
        }