text: /// <reference types="Cypress" />
  
  describe('others', () => {
      beforeEach(() => {
          cy.changeProps('from', undefined)
          cy.changeProps('to', undefined)
          cy.changeSlots()
      })
  
      it('show top of input', () => {
          cy.visit('/')
          cy.get('.pdp').invoke('attr', 'style', 'margin-top:50rem;')
          cy.get('.pdp-input').focus()
          cy.wait(1000).then(() => {
              let pickerTop = cy.$$('.pdp-picker').offset().top;
              let inputTop = cy.$$('.pdp-input').offset().top;
              expect(pickerTop).lt(inputTop)
          })
      })
  
      it('scroll in year-select section', () => {
          cy.visit('/')
          cy.get('.pdp-input').focus()
          cy.get('.pdp-year').first().click()
          cy.wait(1000).then(() => {
              expect(cy.$$('.pdp-select-year').offset().top).not.equal(0)
          })
      })
  
      it('select range date and change locale', () => {
          cy.changeProps('from', '1399')
          cy.changeProps('to', '1399/6/31')
          cy.changeProps('locale', 'fa,en')
          cy.visit('/')
          cy.get('.pdp-input').focus()
          cy.contains('15').first().click()
          cy.contains('20').first().click()
          cy.get('.pdp-input').focus()
          cy.get('.pdp-header .top button').click()
          cy.contains('September')
          cy.get('.start-range').should('contain.text', '5')
          cy.get('.end-range').should('contain.text', '10')
      })
  
      it('select single date and change locale', () => {
          cy.changeProps('from', '1399')
          cy.changeProps('to', '1399/6/31')
          cy.changeProps('locale', 'en,fa')
          cy.changeProps('mode', 'single')
          cy.visit('/')
          cy.get('.pdp-input').focus()
          cy.contains('10').first().click()
          cy.get('.pdp-input').focus()
          cy.get('.pdp-header .top button').click()
          cy.get('.pdp-month').should('contain.text', 'شهریور')
          cy.get('.start-range').should('contain.text', '20')
      })
  
      it('disable dates and change locale', () => {
          cy.changeProps('locale', 'fa,en')
          cy.changeProps('disable', ['1399/10/5', '1399/9/20', '1399/7/1'])
          cy.visit('/')
          cy.get('.pdp-input').focus()
          cy.get('button.pdp-year').first().click()
          cy.get('li').contains('1399').click()
          cy.get('button.pdp-month').first().click()
          cy.get('.pdp-select-month > :nth-child(10)').click()
          cy.get('[data-column="0"] .pdp-day[value="5"]').should('have.attr', 'class').and('match', /disabled/)
          cy.get('.pdp-arrow').first().click()
          cy.get('[data-column="0"] .pdp-day[value="20"]').should('have.attr', 'class').and('match', /disabled/)
          cy.get('.pdp-arrow').first().click()
          cy.get('.pdp-arrow').first().click()
          cy.get('[data-column="0"] .pdp-day[value="1"]').should('have.attr', 'class').and('match', /disabled/)
          cy.get('.pdp-header .top button').click()
          cy.get('button.pdp-year').first().click()
          cy.get('li').contains('2020').click()
          cy.get('button.pdp-month').first().click()
          cy.get('li').contains('September').click()
          cy.get('[data-column="0"] .pdp-day[value="22"]').should('have.attr', 'class').and('match', /disabled/)
          cy.get('.pdp-arrow').last().click()
          cy.get('.pdp-arrow').last().click()
          cy.get('.pdp-arrow').last().click()
          cy.get('[data-column="0"] .pdp-day[value="10"]').should('have.attr', 'class').and('match', /disabled/)
          cy.get('[data-column="0"] .pdp-day[value="25"]').should('have.attr', 'class').and('match', /disabled/)
      })
  
      it('disable datetimes and change locale', () => {
          cy.changeProps('type', 'datetime')
          cy.changeProps('disable', ['1399/10/5 10:10', '1399/10/5 10:11', '1399/10/5 10:12'])
          cy.visit('/')
          cy.get('.pdp-input').focus()
          cy.get('button.pdp-year').first().click()
          cy.get('li').contains('1399').click()
          cy.get('button.pdp-month').first().click()
          cy.get('.pdp-select-month > :nth-child(10)').click()
          cy.get('[data-column="0"] .pdp-day[value="5"]').click()
          cy.get('.pdp-input').focus()
          cy.selectTime(10, 10)
          cy.get('.pdp-time .pdp-moment > div').first().should('have.attr', 'class').and('match', /disabled/)
          cy.get('.pdp-time .pdp-moment button').eq(2).click()
          cy.get('.pdp-time .pdp-moment > div').first().should('have.attr', 'class').and('match', /disabled/)
          cy.get('.pdp-time .pdp-moment button').eq(2).click()
          cy.get('.pdp-time .pdp-moment > div').first().should('have.attr', 'class').and('match', /disabled/)
          cy.get('.pdp-header .top button').click()
          cy.get('button.pdp-year').first().click()
          cy.get('li').contains('2020').click()
          cy.get('button.pdp-month').first().click()
          cy.get('li').contains('September').click()
          cy.get('.pdp-arrow').last().click()
          cy.get('.pdp-arrow').last().click()
          cy.get('.pdp-arrow').last().click()
          cy.get('.pdp-time .pdp-moment > div').first().should('have.attr', 'class').and('match', /disabled/)
          cy.get('.pdp-time .pdp-moment button').eq(3).click()
          cy.get('.pdp-time .pdp-moment > div').first().should('have.attr', 'class').and('match', /disabled/)
          cy.get('.pdp-time .pdp-moment button').eq(3).click()
          cy.get('.pdp-time .pdp-moment > div').first().should('have.attr', 'class').and('match', /disabled/)
      })
  
      it('select single datetime and change locale', () => {
          cy.changeProps('from', '1399')
          cy.changeProps('to', '1399/6/31')
          cy.changeProps('type', 'datetime')
          cy.changeProps('locale', 'en,fa')
          cy.visit('/')
          cy.get('.pdp-input').focus()
          cy.get('.pdp-day').contains('10').first().click()
          cy.get('.pdp-input').focus()
          cy.selectTime(10, 10)
          cy.get('.pdp-header .top button').click()
          cy.get('.pdp-month').should('contain.text', 'شهریور')
          cy.get('.start-range').should('contain.text', '20')
          cy.get('.pdp-time .pdp-moment > div .hour').first().should('contain.text', '10')
          cy.get('.pdp-time .pdp-moment > div .minute').first().should('contain.text', '10')
      })
  
      it('select range datetime and change locale', () => {
          cy.changeProps('from', '1399')
          cy.changeProps('to', '1399/6/31')
          cy.changeProps('locale', 'fa,en')
          cy.changeProps('mode', 'range')
          cy.visit('/')
          cy.get('.pdp-input').focus()
          cy.get('.pdp-day').contains('15').first().click()
          cy.get('.pdp-day').contains('20').first().click()
          cy.get('.pdp-input').focus()
          cy.selectTime(10, 10)
          cy.selectTime(20, 20, 'last')
          cy.get('.pdp-header .top button').click()
          cy.contains('September')
          cy.get('.start-range').should('contain.text', '5')
          cy.get('.end-range').should('contain.text', '10')
          cy.get('.pdp-time .pdp-moment > div .hour').first().should('contain.text', '10')
          cy.get('.pdp-time .pdp-moment > div .minute').first().should('contain.text', '10')
          cy.get('.pdp-time .pdp-moment > div .hour').last().should('contain.text', '20')
          cy.get('.pdp-time .pdp-moment > div .minute').last().should('contain.text', '20')
      })
  
      it('today button', () => {
          cy.changeProps('type', 'datetime')
          cy.visit('/')
          cy.selectDate()
          let date = new Date()
          cy.get('.pdp-input').focus()
          cy.get('.pdp-moment button:first-child').click({ multiple: true })
          cy.get('.hour').last().should('contain.text', date.getHours())
          cy.get('.minute').last().should('contain.text', date.getMinutes())
          cy.get('.pdp-today').click()
          cy.get('.pdp-day.today').should('have.class', 'tada')
          cy.get('.hour').should('contain.text', date.getHours())
          cy.get('.minute').should('contain.text', date.getMinutes())
      })
  })
  