Ejemplo n.º 1
0
        public void TestAddingContactToGroup()
        {
            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();
            }

            // найдем контакт, который НЕ во всех группах
            foreach (ContactData cd in cdList)
            {
                List <GroupData> cdGroups = AddressBookDBHelper.GetGroupsByContact(cd);

                if (cdGroups.Count != grList.Count) // где то есть группа БЕЗ этого контакта
                {
                    GroupData gr = null;
                    if (cdGroups.Count == 0) // контакта нет ни в одной группе
                    {
                        gr = grList[0];
                    }
                    else
                    {
                        gr = grList.Except(cdGroups).First();
                    }

                    TestAddingContactToGroupActionPart(gr, cd);
                    return;
                }

                /*
                 * foreach (GroupData gr in cdGroups)
                 * {
                 *  System.Console.Out.WriteLine(string.Format("For contact : {0} -> group: {1}", cd.Name, gr.Name));
                 * }
                 */
            }

            // если мы тут, значит все контакты во всех группах
            // можно создать контакт и впихнуть в любую группу, или создать новую группу и взять любой контакт
            // ну а раз тест в классе групп, то создадим группу и впихнем в нее первый контакт


            GroupCreationTest(GroupsCreator().ElementAt(0));
            TestAddingContactToGroupActionPart(
                AddressBookDBHelper.GetAllGroups().Except(AddressBookDBHelper.GetGroupsByContact(cdList[0])).First(),
                cdList[0]);
        }
Ejemplo n.º 2
0
        public void CompareContacts_UI_vs_DB()
        {
            if (!PERFORM_LONG_UI_CHECKS)
            {
                return;
            }

            List <ContactData> fromUI = app.mContactsHelper.GoToContacts().GetContactsList();
            List <ContactData> fromDB = AddressBookDBHelper.GetAllContacts();

            fromUI.Sort();
            fromDB.Sort();
            Assert.AreEqual(fromUI, fromDB);
        }
Ejemplo n.º 3
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);
        }