package ua.projects.javatests.addressbook.tests;

import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import ua.projects.javatests.addressbook.model.GroupData;
import ua.projects.javatests.addressbook.model.Groups;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.testng.Assert.assertEquals;

public class GroupDeletionTests extends TestBase{

    @BeforeMethod
    public void ensurePreconditions() {
        if (app.db().groups().size() == 0) {
            app.goTo().groupPage();
            app.group().create(new GroupData().withName("test1"));
        }
    }

    @Test
    public void testGroupDeletion() {
        Groups before = app.db().groups();
        GroupData deletedGroup = before.iterator().next();
        app.group().delete(deletedGroup);
        assertThat(app.group().count(), equalTo(before.size() - 1));
        Groups after = app.db().groups();

        assertThat(after, equalTo(before.withoutAdded(deletedGroup)));
        verifyGroupListInUI();
    }

    @Test(enabled = false)
    public void testAllGroupDeletion() {
        app.goTo().groupPage();
        app.group().deleteAllGroups();
        assertThat(app.group().count(), equalTo(0));
    }
}

@@ -806,24 +806,56 @@
 r().next();%0A
+        app.goTo().groupPage();%0A
         app.

Add GroupDeletion test fix.