require 'aruba'

Given /^a configured installation of FWToolkit for "([^"]*)" working for "([^"]*)"$/ do |dev_name, company_name|
  steps %Q{
    Given I'm using a clean home directory 
  }
  steps %Q{
    And a file named "#{File.join(ENV['CONFIG_PATH'] || Dir.home, '.fwtoolkitconfig')}" with:
    """
     developer_name:     "#{dev_name}"
     organization_name:  "#{company_name}"
     organization_name:  "Future Workshops"
     target_platform:    "13.0"
     ci_server_url:      "https://app.bitrise.io/dashboard"
    """
  }
end

Given /^an initialized FW iOS project named "([^"]*)"$/ do |proj_name|
  steps %Q{
    Given I successfully run `fwt xcode new #{proj_name} AAA`
  }
end

Given /^the project "([^"]*)" contains a valid CoreData model$/ do |proj_name|
  steps %Q{
    Given I cd to "#{proj_name}/#{proj_name}"
    And a directory named "Model.xcdatamodeld"
    And I cd to "Model.xcdatamodeld"
    And a directory named "Model.xcdatamodel"
    And I cd to "Model.xcdatamodel"
    And a file named "contents" with:
     """ 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model name="" userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="1811" systemVersion="12D78" minimumToolsVersion="Xcode 4.3" macOSVersion="Automatic" iOSVersion="Automatic">
    <entity name="AAAEnt1" syncable="YES">
        <attribute name="attribute" optional="YES" attributeType="Float" defaultValueString="0.0" syncable="YES"/>
        <relationship name="relationship" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="AAAEnt2" inverseName="relationship" inverseEntity="Ent2" syncable="YES"/>
    </entity>
    <entity name="AAAEnt2" syncable="YES">
        <attribute name="attribute" optional="YES" attributeType="String" syncable="YES"/>
        <relationship name="relationship" optional="YES" minCount="1" maxCount="1" deletionRule="Nullify" destinationEntity="AAAEnt1" inverseName="relationship" inverseEntity="Ent1" syncable="YES"/>
    </entity>
    <elements>
        <element name="AAAEnt1" positionX="160" positionY="192" width="128" height="75"/>
        <element name="AAAEnt2" positionX="160" positionY="192" width="128" height="75"/>
    </elements>
</model>
      """
      And I cd to "../../../.."
  }
end