import home from '../selectors/home.css'
import robert from '../selectors/robert.css'

describe('Home page', () => {
    it('3.2 Formular-Elemente', () => {
        cy.visit('http://localhost:3000/index.html?DebugLevel=0&jsApp=./oc/oApp_Editor_oc.js&APP_Prefix=Edit&AppCode=StartEditProcess&rwLib=PRD&OU_Name=EGOVC&LOG_Role=EDIT&USR_EMail=robert.wagner@egovc.de&USR_Pass=Welcome1&ynDevTools=Y&USR_EMail=robert.wagner@egovc.de&USR_Pass=Welcome1', {auth: {username: "oma@oma.de", password: "Omnia$$2020", },})
        //cy.visit('https://rengawr.de/info/info.html', {auth: {username: "oma@oma.de", password: "Omnia$$2020", },})
        //cy.visit('https://oma@oma.de:Omnia$$2020@rengawr.de/info/info.html', auth: {username: "", password: "",},)
        cy.get(robert.EGovC_demo).should('be.visible')
            .and('contain', 'li')
        
        //click formula button
        cy.get("#CFD-5 > div:nth-child(9) > fieldset > button").click()
        
        //Formular Elemente is visible and contains expected elements
        cy.get("#gridLeft > div > div.w3-card-4").should('be.visible')
            .and('contain', 'btGeneric')
            .and('contain', 'GenericApiCall')
            .and('contain', 'GenericCalc')
            .and('contain', 'GenericCalcedJSON')
            .and('contain', 'GenericCheck')
            .and('contain', 'GenericDataList')
            .and('contain', 'GenericDate')
            .and('contain', 'GenericDate2Local')
            .and('contain', 'GenericDigits')
            .and('contain', 'GenericDotWord')
            .and('contain', 'GenericFixSelect')
            .and('contain', 'GenericFloat')
            .and('contain', 'GenericInteger')
            .and('contain', 'GenericJSON')
            .and('contain', 'GenericNumber')
            .and('contain', 'GenericPath')
            .and('contain', 'GenericRadio')
            .and('contain', 'GenericRow')
            .and('contain', 'GenericSelectFromExcel')
            .and('contain', 'GenericSelectGroup')
            .and('contain', 'GenericSelectHTM')
            .and('contain', 'GenericSelectHTMLeika')
            .and('contain', 'GenericString')
            .and('contain', 'GenericStringArray')
            .and('contain', 'GenericText')
            .and('contain', 'GenericTime')
            .and('contain', 'GenericUniqueNumber')
            .and('contain', 'GenericWord')
            .and('contain', 'GenericYN')
            .and('contain', 'GenericYNFadeIn')
            .and('contain', 'GenericYNFadeOut')
            .and('contain', 'GenericYNRow')

    })
    it('3.1.1 Neues Formular // New form', () =>{
        
        //load homepage
        cy.visit('http://localhost:3000/index.html?DebugLevel=0&jsApp=./oc/oApp_Editor_oc.js&APP_Prefix=Edit&AppCode=StartEditProcess&rwLib=PRD&OU_Name=EGOVC&LOG_Role=EDIT&USR_EMail=robert.wagner@egovc.de&USR_Pass=Welcome1&ynDevTools=Y&USR_EMail=robert.wagner@egovc.de&USR_Pass=Welcome1', {auth: {username: "oma@oma.de", password: "Omnia$$2020", },})
     
        //selects a leistungen
        cy.get("#gridLeft > div > div.w3-card-4 > div:nth-child(2) > div > details:nth-child(1)").click()
        cy.get("#gridLeft > div > div.w3-card-4 > div:nth-child(2) > div > details:nth-child(1) > div > details:nth-child(1)").click()
        cy.get("#gridLeft > div > div.w3-card-4 > div:nth-child(2) > div > details:nth-child(1) > div > details:nth-child(1) > div").click()
        
        //leistungen correctly selected
        cy.get("[id^=___10___EditPortalMenu___-4___APP_Prefix").invoke('val').should('contain', 'Abholung_EGG')
        
        //click formula button
        cy.get("#CFD-5 > div:nth-child(9) > fieldset > button").click()

        //click new formula
        cy.get("#Button_-11_Forms > a:nth-child(1)").click({force: true})

        //assert it opens new formula thingy
        cy.get("body > div.alertify.ajs-movable.ajs-closable.ajs-pinnable.ajs-zoom.ajs-resizable.ajs-maximizable > div.ajs-modal > div > div.ajs-header").should('contain', 'Neues Formular')

        //enter text into new formula body
        cy.get("#___355___EditForm_New___-354___FEG_Prefix").type("test123")
        cy.get("#___355___EditForm_New___-354___FEG_Title").type("test123")
        cy.get("#___355___EditForm_New___-354___FEG_Icon").select("book")

        //click OK
        cy.get("body > div.alertify.ajs-movable.ajs-closable.ajs-pinnable.ajs-zoom.ajs-resizable.ajs-maximizable > div.ajs-modal > div > div.ajs-footer > div.ajs-primary.ajs-buttons > button.ajs-button.ajs-ok").click()

        //expect formula to be created
        cy.get('#FEGMember > div.w3-card-4 > div:nth-child(2) > h4').should('contain', "test123")

    })
    
    it('3.1.2 Formular editieren // Edit form', () =>{
        cy.visit('http://localhost:3000/index.html?DebugLevel=0&jsApp=./oc/oApp_Editor_oc.js&APP_Prefix=Edit&AppCode=StartEditProcess&rwLib=PRD&OU_Name=EGOVC&LOG_Role=EDIT&USR_EMail=robert.wagner@egovc.de&USR_Pass=Welcome1&ynDevTools=Y&USR_EMail=robert.wagner@egovc.de&USR_Pass=Welcome1', {auth: {username: "oma@oma.de", password: "Omnia$$2020", },})
        cy.get('[id^=gridLeft]').should('be.visible')
        //cy.get('details').eq(0).click();
        cy.get("#gridLeft > div > div.w3-card-4 > div:nth-child(2) > div > details:nth-child(1)").click()
        cy.get("#gridLeft > div > div.w3-card-4 > div:nth-child(2) > div > details:nth-child(1) > div > details:nth-child(1)").click()
        cy.get("#gridLeft > div > div.w3-card-4 > div:nth-child(2) > div > details:nth-child(1) > div > details:nth-child(1) > div").click()

        //contains value
        cy.get("[id^=___10___EditPortalMenu___-4___APP_Prefix").invoke('val').should('contain', 'Abholung_EGG')


        //click formula button
        cy.get("#CFD-5 > div:nth-child(9) > fieldset > button").click()

        //cy.get("#CFD-11 > div > fieldset:nth-child(6) > div > button").trigger("mouseover").wait(1000)
        //cy.get("#Button_-11_Process > a:nth-child(6) > div").click({force: true})

    })
})