Skip to content

Commit

Permalink
Implemented CuratorCannotCreateClassInFinalizedModelSpec #1258
Browse files Browse the repository at this point in the history
  • Loading branch information
vijayshukla30 committed May 10, 2018
1 parent 593a851 commit 1edc160
Show file tree
Hide file tree
Showing 4 changed files with 149 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ class CreateDataModelPage extends Page implements InputUtils {
defaultTag { $("a.remove-tag") }
policiesInput { $("input#dataModelPolicy") }
policyTag { $("span.with-pointer.ng-binding") }
dataClasses { $('div.split-view-content').module(DataModelTreeViewModule) }
}

void submit() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,20 @@ class DataClassesPage extends Page {

static content = {
createDateClassLink(required: false) { $('a#role_list_create-catalogue-element-menu-item-link', 0) }
addItemIcon(required: false) { $("div.inf-table-body>table>tfoot>tr>td>table>tfoot>tr>td.text-center>span.fa-plus-circle") }
addItemIcon(required: false) {
$("div.inf-table-body>table>tfoot>tr>td>table>tfoot>tr>td.text-center>span.fa-plus-circle")
}
treeView { $('div.data-model-treeview-pane', 0).module(DataModelTreeViewModule) }
rows { $('div.inf-table-body tbody tr') }
titlename { $('div.col-md-12 h3') }
}

int count() {
rows.size()
}

boolean isAddItemIconVisible() {
if ( addItemIcon.empty ) {
if (addItemIcon.empty) {
return false
}
true
Expand All @@ -34,4 +37,8 @@ class DataClassesPage extends Page {
void createDataClass() {
createDateClassLink.click()
}

String titleText() {
return titlename.text()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ import geb.Module
class DataModelTreeViewModule extends Module {

static content = {
dataModelLink { $('a.catalogue-element-treeview-icon') }
dataModelLink { int index -> $('a.catalogue-element-treeview-icon')[index] }
item { $('ul .catalogue-element-treeview-name', text: it) }
}

void dataModel() {
dataModelLink.click()
dataModelLink(0).click()
}

void dataClasses() {
Expand Down Expand Up @@ -53,4 +53,8 @@ class DataModelTreeViewModule extends Module {
item(name).click()
sleep(2000)
}

Boolean checkItemDisplay(String name) {
return item(name)?.displayed
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ import spock.lang.Issue
import spock.lang.Narrative
import spock.lang.Specification
import spock.lang.Title
import spock.lang.Stepwise
import org.modelcatalogue.core.geb.*
import spock.lang.*

@Issue('https://metadata.atlassian.net/browse/MET-1628')
@Title('Check that a Curator is not able to create a data class in finalised model')
Expand All @@ -26,5 +29,135 @@ import spock.lang.Title
- Verify that there is no left hand menu and no 'Data Class' menu button | No Data Class menu button present in Finalized version of the Data Model
/$)

@Stepwise
class CuratorCannotCreateClassInFinalizedModelSpec extends GebSpec {

@Shared
String name="name30"+UUID.randomUUID().toString()
@Shared
String modelCatalogueId=UUID.randomUUID().toString()
@Shared
String description="description"
@Shared
String cwName="name"+UUID.randomUUID().toString()
@Shared
String cwModelCatalogueId=UUID.randomUUID().toString()
@Shared
String cwDescription="description"
@Shared
String version="1.1"
@Shared
String versionNote = "versionNote"


def "Login as curator"() {
when:
LoginPage loginPage = to LoginPage
loginPage.login('curator', 'curator')

then:
at DashboardPage
}

def "Create data model"() {
when:
DashboardPage dashboardPage = browser.page DashboardPage
dashboardPage.nav.createDataModel()
then:
at CreateDataModelPage

}

def "Filling form"() {
when:
CreateDataModelPage createDataModelPage = browser.page CreateDataModelPage
createDataModelPage.name = name
createDataModelPage.modelCatalogueId = modelCatalogueId
createDataModelPage.description = description
createDataModelPage.submit()
then:
at DataModelPage


}

def "Select data class tag and fill data class wizard"() {
when:
DataModelPage dataModelPage = browser.page DataModelPage
dataModelPage.treeView.select("Data Classes")
then:
DataClassesPage dataClassesPage = browser.page DataClassesPage
print("dataClassesPage.titleText()" + dataClassesPage.titleText())
assert "Active Data Classes" == dataClassesPage.titleText().trim()

when:
dataClassesPage.addItemIcon.click()
then:
at CreateDataClassPage

when:
CreateDataClassPage createDataClassPage = browser.page CreateDataClassPage
createDataClassPage.name = cwName
createDataClassPage.modelCatalogueId = cwModelCatalogueId
createDataClassPage.description = cwDescription
createDataClassPage.finish()
createDataClassPage.exit()
then:
at DataClassesPage
}

def "Navigate to data Model main page "() {
when:
DataModelPage dataModelPage = browser.page DataModelPage
dataModelPage.treeView.dataModel()
then:
at DataModelPage

when:
dataModelPage = browser.page DataModelPage
dataModelPage.dropdown()
dataModelPage.finalizedDataModel()
then:
at FinalizeDataModelPage

when:
FinalizeDataModelPage finalizeDataModelPage = browser.page FinalizeDataModelPage
// finalizeDataModelPage.version = version
finalizeDataModelPage.setVersionNote(versionNote)
finalizeDataModelPage.submit()
then:
at FinalizedDataModelPage

when:
FinalizedDataModelPage finalizedDataModelPage = browser.page FinalizedDataModelPage
finalizedDataModelPage.hideConfirmation()
then:
at DataModelPage

}

def "Redirect to data class"() {
when:
DataModelPage dataModelPage = browser.page DataModelPage
dataModelPage.treeView.select("Data Classes")
then:
DataClassesPage dataClassesPage = browser.page DataClassesPage
print("dataClassesPage.titleText()" + dataClassesPage.titleText())
assert "Active Data Classes" == dataClassesPage.titleText().trim()

}

def "Checking for create button"() {
when:
DataClassesPage dataClassesPage = browser.page DataClassesPage
print"01"+dataClassesPage.isAddItemIconVisible()
then:
assert dataClassesPage.isAddItemIconVisible()==false

when:
DataModelPage dataModelPage = browser.page DataModelPage
print"1"+dataModelPage.treeView.checkItemDisplay("Data Classes")
then:
assert dataModelPage.treeView.checkItemDisplay("Data Classes")==false
}
}

0 comments on commit 1edc160

Please sign in to comment.