fwtoolkit 2.3.1 → 2.3.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1351497268b57e36418e53649165439481be612917c5a34787eae78f7dec603
4
- data.tar.gz: e0bb69fd552700a57818bc899638a37fde724d02ae96575da88ccd14e448553a
3
+ metadata.gz: 6d6d6d97a20ba7540e5850cc43d7b8fa4bb067908ce6cbf9f1db21ccf55b8ea0
4
+ data.tar.gz: 68b385672f56c65871d9c81ee0c2a80b9cfecc0181ef8f047ebf39126ee31269
5
5
  SHA512:
6
- metadata.gz: 6f72e3b91d1df55adc7eb51a17d07e12f245d7a129bdf6ee7024338071a86bdcaa815496d9a8482b6708e541006d14a4efd31287e23eec1897ad354c0472f312
7
- data.tar.gz: 698905003e0bd8f1e8c7b2b3b3c09d89f8337f80c6ca426357902763f38d2377d15931f2d2198ce996a19d490989de0f5d4134fca38945e79067f3a9fb2bf500
6
+ metadata.gz: 7a3bc4ab9bfdbaada53fc2e79c428bf83334a764d4e5313326bed887c574ae0d0a8d28ebd5ed21233305d977cad3806bc45309a597cc73a63a3f32bae72411c0
7
+ data.tar.gz: e48dc7723f29f879cb6606c56e04a0ae529f4fd9c371adf20417efc3f56d0ea3005997ca4be98ef747555e3b585602655aba9b96975f206ed1c9b4e9f3d041d6
@@ -19,11 +19,3 @@ Feature: Create a git repo
19
19
  """
20
20
  There's already a repository at path
21
21
  """
22
- @slow
23
- Scenario: Create a git repository on a folder with files in it
24
- Given a directory named "my_project"
25
- Given a valid .gitignore file exists inside a directory named "my_project"
26
- Given the directory "my_project" contains an uncommitted file named "my_file.c"
27
- When I successfully run `fwt git new my_project`
28
- Then an initialized git repository should exists inside a directory named "my_project"
29
- And the file named "my_file.c" should have been committed to the repository at path "my_project"
@@ -5,11 +5,13 @@ Given /^a configured installation of FWToolkit for "([^"]*)" working for "([^"]*
5
5
  Given I'm using a clean home directory
6
6
  }
7
7
  steps %Q{
8
- And a directory named ".fwtoolkit" inside the home directory
9
- And a file named "#{File.join(Dir.home, '.fwtoolkit', 'config')}" with:
8
+ And a file named "#{File.join(ENV['CONFIG_PATH'] || Dir.home, '.fwtoolkitconfig')}" with:
10
9
  """
11
10
  developer_name: "#{dev_name}"
12
11
  organization_name: "#{company_name}"
12
+ organization_name: "Future Workshops"
13
+ target_platform: "13.0"
14
+ ci_server_url: "https://app.bitrise.io/dashboard"
13
15
  """
14
16
  }
15
17
  end
@@ -8,35 +8,21 @@ Feature: Create new project
8
8
 
9
9
  @xcode
10
10
  Scenario: Create a new project
11
- When I successfully run `fwt xcode new MyProject AAA`
11
+ When I successfully run `fwt xcode new objc MyProject AAA`
12
12
  Then I cd to "MyProject"
13
13
  And the following directories should exist:
14
14
  | MyProject.xcworkspace |
15
15
  | MyProject/MyProject.xcodeproj |
16
- | MyProject/MyProject/Supporting Files/Settings.bundle |
17
- | MyProject/Myproject/Supporting Files/en.lproj |
18
- | MyProject/MyprojectTests/Supporting Files/en.lproj |
16
+ | MyProject/MyProject/Resources/Assets.xcassets |
17
+ | MyProject/MyProject/Resources/Assets.xcassets/AppIcon.appiconset |
18
+ | MyProject/MyProject/Resources/Base.lproj |
19
19
  And the following files should exist:
20
20
  | MyProject/MyProject/AAAAppDelegate.h |
21
21
  | MyProject/MyProject/AAAAppDelegate.m |
22
- | MyProject/MyProject/Supporting Files/MyProject-Info.plist |
23
- | MyProject/MyProject/Supporting Files/MyProject-Prefix.pch |
22
+ | MyProject/MyProject.entitlements |
23
+ | MyProject/MyProject/Supporting Files/Info.plist |
24
24
  | MyProject/MyProject/Supporting Files/fw-shared.xcconfig |
25
25
  | MyProject/MyProject/Supporting Files/main.m |
26
- | MyProject/MyProject/Supporting Files/version.sh |
27
- | MyProject/MyProjectTests/Supporting Files/MyProjectTests-Info.plist |
28
- | MyProject/MyProjectTests/MyProjectTests.h |
29
- | MyProject/MyProjectTests/MyProjectTests.m |
30
- | MyProject/Resources/Default.png |
31
- | MyProject/Resources/Default@2x.png |
32
- | MyProject/Resources/Default-568h@2x.png |
33
- And I successfully run `xcodebuild -scheme MyProject -workspace MyProject.xcworkspace -sdk iphonesimulator6.0`
34
-
35
- @xcode
36
- Scenario: Fails to create a new project is the project dir is not empty
37
- Given a directory named "MyProject"
38
- When I run `fwt xcode new MyProject AAA`
39
- Then the stderr should contain:
40
- """
41
- Can't create the project. The directory
42
- """
26
+ | MyProject/MyProjectTests/Resources/Info.plist |
27
+ | MyProject/MyProjectTests/AAAMyProjectTests.m |
28
+ And I successfully run `xcodebuild -scheme MyProject -workspace MyProject.xcworkspace -sdk iphonesimulator`
@@ -24,6 +24,8 @@ module FWToolkit
24
24
 
25
25
  register FWToolkit::Bitrise, 'bitrise', 'bitrise SUBCOMMAND ...ARG', 'Create bitrise configuration files'
26
26
  register FWToolkit::Project, 'proj', 'proj SUBCOMMAND ...ARG', 'Create projects and manage settings'
27
+ register FWToolkit::Xcode, 'xcode', 'xcode SUBCOMMAND ...ARG', 'Create Xcode projects'
28
+ register FWToolkit::Git, 'git', 'git SUBCOMMAND ...ARG', 'Git operations'
27
29
  end
28
30
  end
29
31
 
@@ -14,26 +14,35 @@ module FWToolkit
14
14
  include FWToolkit::ThorUtils
15
15
  source_root_templates!
16
16
 
17
- desc "proj new [PROJECT NAME]", "Create a new Xcode project with FW's settings. Language is either objc or swift"
17
+ desc "proj create [PROJECT NAME]", "Create a new Xcode project with FW's settings. Language is either objc or swift"
18
18
  def create(project_name)
19
19
  invoke :new, ["swift", project_name, ""]
20
20
  end
21
21
 
22
22
  desc "proj new [swift|objc] [PROJECT NAME] [CLASS PREFIX]", "Create a new Xcode project with FW's settings. Language is either objc or swift"
23
23
  def new(project_language, project_name, class_prefix="")
24
+
24
25
  unless project_language == "swift" or project_language == "objc"
25
26
  say_status :error, "Project language should be either swift or objc", :red
26
27
  return
27
28
  end
28
- destination_root = File.join(Dir.pwd, project_name)
29
+
30
+ if project_language == "objc" and class_prefix == ""
31
+ say_status :error, "Objc projects require a class prefix", :red
32
+ return
33
+ end
34
+
35
+ clean_project_name = project_name.gsub("-", "_")
36
+
37
+ destination_root = File.join(Dir.pwd, clean_project_name)
29
38
 
30
39
  say "Creating new project in: #{File.expand_path destination_root}"
31
40
 
32
41
  invoke :conf_gemset, [destination_root]
33
42
 
34
- invoke FWToolkit::Bitrise, 'new', [destination_root, project_name]
43
+ invoke FWToolkit::Bitrise, 'new', [destination_root, clean_project_name]
35
44
 
36
- invoke FWToolkit::Xcode, 'new', [project_language, project_name, class_prefix.upcase, File.join(Dir.pwd, project_name)]
45
+ invoke FWToolkit::Xcode, 'new', [project_language, clean_project_name, class_prefix.upcase, File.join(Dir.pwd, clean_project_name)]
37
46
  invoke FWToolkit::Cocoapods, 'install', [destination_root]
38
47
 
39
48
  git_repo = GitClient::Repository.new destination_root
@@ -25,7 +25,7 @@ module FWToolkit
25
25
  include FWToolkit::ThorUtils
26
26
  source_root_templates!
27
27
 
28
- desc "new [PROJECT_NAME] [CLASS_PREFIX]", "Create a new Xcode project with FW's settings"
28
+ desc "new [LANGUAGE] [PROJECT_NAME] [CLASS_PREFIX]", "Create a new Xcode project with FW's settings"
29
29
  def new(project_language, project_name, class_prefix, root_dir=File.join(Dir.pwd, project_name))
30
30
  say 'Creating Xcode project'
31
31
  destination_root = root_dir
@@ -5,12 +5,16 @@ module FWToolkit
5
5
  module Config
6
6
  include FWToolkit::ConfigFile
7
7
 
8
+ def self.base_path
9
+ ENV['CONFIG_PATH'] || ENV['HOME']
10
+ end
11
+
8
12
  def self.config_file
9
- File.join(ENV['HOME'], '.fwtoolkitconfig')
13
+ File.join(base_path, '.fwtoolkitconfig')
10
14
  end
11
15
 
12
16
  def self.old_file
13
- File.join(ENV['HOME'], '.fwtoolkit', 'config')
17
+ File.join(base_path, '.fwtoolkit', 'config')
14
18
  end
15
19
 
16
20
  def self.base_file
@@ -42,8 +42,6 @@ module FWToolkit
42
42
  d[:xcode_project] = "#{File.join(conf_hash[:project_name], conf_hash[:project_name])}.xcodeproj"
43
43
  d[:source_root] = File.join conf_hash[:project_name], d[:target_name]
44
44
  d[:tests_source_root] = File.join conf_hash[:project_name], d[:tests_target_name]
45
- d[:frank_root] = File.join conf_hash[:project_name], d[:target_name], 'Frank'
46
- d[:frankified_app] = File.join d[:frank_root], 'frankified_build', 'Frankified.app'
47
45
  d
48
46
  end
49
47
  end
@@ -1,3 +1,3 @@
1
1
  module FWToolkit
2
- VERSION = "2.3.1"
2
+ VERSION = "2.3.6"
3
3
  end
@@ -88,7 +88,7 @@ workflows:
88
88
  - EXPORT_TYPE: app-store
89
89
  opts:
90
90
  is_expand: true
91
- - CODESIGN_IDENTITY: 'iPhone Distribution: Future Workshops Ltd (F94732585Z)'
91
+ - CODESIGN_IDENTITY: 'Apple Distribution: Future Workshops Ltd (F94732585Z)'
92
92
  opts:
93
93
  is_expand: true
94
94
  - KEYCHAIN_NAME: fw_ltd.p12
@@ -124,7 +124,7 @@ workflows:
124
124
  - EXPORT_TYPE: app-store
125
125
  opts:
126
126
  is_expand: true
127
- - CODESIGN_IDENTITY: 'iPhone Distribution: Future Workshops Ltd (F94732585Z)'
127
+ - CODESIGN_IDENTITY: 'Apple Distribution: Future Workshops Ltd (F94732585Z)'
128
128
  opts:
129
129
  is_expand: true
130
130
  - KEYCHAIN_NAME: fw_ltd.p12
@@ -88,7 +88,7 @@ workflows:
88
88
  - EXPORT_TYPE: app-store
89
89
  opts:
90
90
  is_expand: true
91
- - CODESIGN_IDENTITY: 'iPhone Distribution: Future Workshops Ltd (F94732585Z)'
91
+ - CODESIGN_IDENTITY: 'Apple Distribution: Future Workshops Ltd (F94732585Z)'
92
92
  opts:
93
93
  is_expand: true
94
94
  - KEYCHAIN_NAME: fw_ltd.p12
@@ -124,7 +124,7 @@ workflows:
124
124
  - EXPORT_TYPE: app-store
125
125
  opts:
126
126
  is_expand: true
127
- - CODESIGN_IDENTITY: 'iPhone Distribution: Future Workshops Ltd (F94732585Z)'
127
+ - CODESIGN_IDENTITY: 'Apple Distribution: Future Workshops Ltd (F94732585Z)'
128
128
  opts:
129
129
  is_expand: true
130
130
  - KEYCHAIN_NAME: fw_ltd.p12
@@ -1,5 +1,8 @@
1
- [Finishes #<PIVOTAL_TASK_NUMBER>]
2
-
1
+ <!-- You can associate this PR to a Jira task, by adding, for example [SBA-8931] to the description. -->
2
+ <!-- The jira automation will create a link over all this text -->
3
+
4
+ [Jira Task code]
5
+
3
6
  <Task description>
4
7
 
5
8
  **Steps to test:**
@@ -10,4 +13,4 @@
10
13
 
11
14
  **Expected result:**
12
15
 
13
- <A description of the expected results, after, and during the previous steps>
16
+ <A description of the expected results, after, and during the previous steps>
@@ -9,6 +9,7 @@ bitrise.yml
9
9
  .bitrise*
10
10
 
11
11
  #CocoaPods
12
+ Pods/
12
13
  Pods/CocoaPodsKeys
13
14
 
14
15
  # Xcode
@@ -176,7 +176,7 @@
176
176
  isa = PBXProject;
177
177
  attributes = {
178
178
  CLASSPREFIX = "<%= config[:class_prefix] %>";
179
- LastUpgradeCheck = 1020;
179
+ LastUpgradeCheck = 1200;
180
180
  ORGANIZATIONNAME = "Future Workshops";
181
181
  TargetAttributes = {
182
182
  B750287F1C5A3F7A000EB3CF = {
@@ -305,6 +305,7 @@
305
305
  CLANG_WARN_INFINITE_RECURSION = YES;
306
306
  CLANG_WARN_INT_CONVERSION = YES;
307
307
  CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
308
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
308
309
  CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
309
310
  CLANG_WARN_STRICT_PROTOTYPES = YES;
310
311
  CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -357,6 +358,7 @@
357
358
  CLANG_WARN_INFINITE_RECURSION = YES;
358
359
  CLANG_WARN_INT_CONVERSION = YES;
359
360
  CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
361
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
360
362
  CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
361
363
  CLANG_WARN_STRICT_PROTOTYPES = YES;
362
364
  CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <Scheme
3
- LastUpgradeVersion = "1020"
3
+ LastUpgradeVersion = "1200"
4
4
  version = "1.3">
5
5
  <BuildAction
6
6
  parallelizeBuildables = "YES"
@@ -27,6 +27,15 @@
27
27
  selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
28
  selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
29
  shouldUseLaunchSchemeArgsEnv = "YES">
30
+ <MacroExpansion>
31
+ <BuildableReference
32
+ BuildableIdentifier = "primary"
33
+ BlueprintIdentifier = "B750287F1C5A3F7A000EB3CF"
34
+ BuildableName = "<%= config[:project_name] %>.app"
35
+ BlueprintName = "<%= config[:project_name] %>"
36
+ ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
37
+ </BuildableReference>
38
+ </MacroExpansion>
30
39
  <Testables>
31
40
  <TestableReference
32
41
  skipped = "NO">
@@ -39,17 +48,6 @@
39
48
  </BuildableReference>
40
49
  </TestableReference>
41
50
  </Testables>
42
- <MacroExpansion>
43
- <BuildableReference
44
- BuildableIdentifier = "primary"
45
- BlueprintIdentifier = "B750287F1C5A3F7A000EB3CF"
46
- BuildableName = "<%= config[:project_name] %>.app"
47
- BlueprintName = "<%= config[:project_name] %>"
48
- ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
49
- </BuildableReference>
50
- </MacroExpansion>
51
- <AdditionalOptions>
52
- </AdditionalOptions>
53
51
  </TestAction>
54
52
  <LaunchAction
55
53
  buildConfiguration = "Debug"
@@ -71,8 +69,6 @@
71
69
  ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
72
70
  </BuildableReference>
73
71
  </BuildableProductRunnable>
74
- <AdditionalOptions>
75
- </AdditionalOptions>
76
72
  </LaunchAction>
77
73
  <ProfileAction
78
74
  buildConfiguration = "Release"
@@ -169,7 +169,7 @@
169
169
  isa = PBXProject;
170
170
  attributes = {
171
171
  LastSwiftUpdateCheck = 0720;
172
- LastUpgradeCheck = 1020;
172
+ LastUpgradeCheck = 1200;
173
173
  ORGANIZATIONNAME = "Future Workshops";
174
174
  TargetAttributes = {
175
175
  B75028B01C5A3F94000EB3CF = {
@@ -299,6 +299,7 @@
299
299
  CLANG_WARN_INFINITE_RECURSION = YES;
300
300
  CLANG_WARN_INT_CONVERSION = YES;
301
301
  CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
302
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
302
303
  CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
303
304
  CLANG_WARN_STRICT_PROTOTYPES = YES;
304
305
  CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -353,6 +354,7 @@
353
354
  CLANG_WARN_INFINITE_RECURSION = YES;
354
355
  CLANG_WARN_INT_CONVERSION = YES;
355
356
  CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
357
+ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
356
358
  CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
357
359
  CLANG_WARN_STRICT_PROTOTYPES = YES;
358
360
  CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <Scheme
3
- LastUpgradeVersion = "1020"
3
+ LastUpgradeVersion = "1200"
4
4
  version = "1.3">
5
5
  <BuildAction
6
6
  parallelizeBuildables = "YES"
@@ -27,6 +27,15 @@
27
27
  selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
28
  selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
29
  shouldUseLaunchSchemeArgsEnv = "YES">
30
+ <MacroExpansion>
31
+ <BuildableReference
32
+ BuildableIdentifier = "primary"
33
+ BlueprintIdentifier = "B75028B01C5A3F94000EB3CF"
34
+ BuildableName = "<%= config[:project_name] %>.app"
35
+ BlueprintName = "<%= config[:project_name] %>"
36
+ ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
37
+ </BuildableReference>
38
+ </MacroExpansion>
30
39
  <Testables>
31
40
  <TestableReference
32
41
  skipped = "NO">
@@ -39,17 +48,6 @@
39
48
  </BuildableReference>
40
49
  </TestableReference>
41
50
  </Testables>
42
- <MacroExpansion>
43
- <BuildableReference
44
- BuildableIdentifier = "primary"
45
- BlueprintIdentifier = "B75028B01C5A3F94000EB3CF"
46
- BuildableName = "<%= config[:project_name] %>.app"
47
- BlueprintName = "<%= config[:project_name] %>"
48
- ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
49
- </BuildableReference>
50
- </MacroExpansion>
51
- <AdditionalOptions>
52
- </AdditionalOptions>
53
51
  </TestAction>
54
52
  <LaunchAction
55
53
  buildConfiguration = "Debug"
@@ -71,8 +69,6 @@
71
69
  ReferencedContainer = "container:<%= config[:project_name] %>.xcodeproj">
72
70
  </BuildableReference>
73
71
  </BuildableProductRunnable>
74
- <AdditionalOptions>
75
- </AdditionalOptions>
76
72
  </LaunchAction>
77
73
  <ProfileAction
78
74
  buildConfiguration = "Release"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fwtoolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.1
4
+ version: 2.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Future Workshops
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-21 00:00:00.000000000 Z
11
+ date: 2020-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec-rails
@@ -239,9 +239,6 @@ extensions: []
239
239
  extra_rdoc_files: []
240
240
  files:
241
241
  - bin/fwt
242
- - features/cocoapods/setup.feature
243
- - features/frank/model.feature
244
- - features/frank/setup.feature
245
242
  - features/git/create.feature
246
243
  - features/project/create.feature
247
244
  - features/step_definitions/aruba_steps.rb
@@ -383,7 +380,7 @@ homepage: https://github.com/FutureWorkshops/FWToolkit
383
380
  licenses:
384
381
  - MIT
385
382
  metadata: {}
386
- post_install_message:
383
+ post_install_message:
387
384
  rdoc_options: []
388
385
  require_paths:
389
386
  - lib
@@ -399,13 +396,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
399
396
  version: '0'
400
397
  requirements: []
401
398
  rubygems_version: 3.1.2
402
- signing_key:
399
+ signing_key:
403
400
  specification_version: 4
404
401
  summary: Future Workshops project tools
405
402
  test_files:
406
- - features/cocoapods/setup.feature
407
- - features/frank/model.feature
408
- - features/frank/setup.feature
409
403
  - features/git/create.feature
410
404
  - features/project/create.feature
411
405
  - features/step_definitions/aruba_steps.rb
@@ -1,60 +0,0 @@
1
- Feature: Installing cocoapods
2
- As a lead developer
3
- In order to work with cocoapods in my project
4
- I want my system to be configured correctly
5
-
6
- @slow @pods
7
- Scenario: Install and configure cocoapods for a user without cocoapods installed
8
- Given I'm using a clean gemset "fwtoolkit_test" containing fwtoolkit.gem
9
- And I'm using a clean home directory
10
- And I force aruba-double path-hijacking
11
- And I double `pod`
12
- And I double `sudo`
13
- And I double `git`
14
- When I successfully run `fwt pods setup`
15
- Then the double `sudo gem install cocoapods` should have been run
16
- And a directory named "homedir/.cocoapods/fw" should exist
17
-
18
- @slow @pods
19
- Scenario: Configure fw's cocoapods for a user that has cocoapods already installed
20
- Given I'm using a clean gemset "fwtoolkit_test" containing fwtoolkit.gem
21
- And I'm using a clean home directory
22
- And I force aruba-double path-hijacking
23
- And I double the gem "cocoapods"
24
- And I double `pod`
25
- And I double `sudo`
26
- When I successfully run `fwt pods setup`
27
- Then the stdout should contain:
28
- """
29
- Cocoapods is already installed
30
- """
31
- And a directory named "homedir/.cocoapods/fw" should exist
32
-
33
- @slow @pods
34
- Scenario: Configure fw's cocoapods for a user that has messed up his/her installation
35
- Given I'm using a clean gemset "fwtoolkit_test" containing fwtoolkit.gem
36
- And I'm using a clean home directory
37
- And a directory named ".cocoapods/fw" inside the home directory
38
- And I force aruba-double path-hijacking
39
- And I double `gem`
40
- And I double `sudo`
41
- When I successfully run `fwt pods setup`
42
- Then the double `sudo gem install cocoapods` should have been run
43
- And the stdout should contain:
44
- """
45
- FW's podspec repository already installed
46
- """
47
-
48
- @slow @pods
49
- Scenario: Configure a project with Cocoapods
50
- Given a directory named "MyProject"
51
- And I double `bundle`
52
- And I cd to "MyProject"
53
- And an empty file named "Gemfile"
54
- And I cd to ".."
55
- When I successfully run `fwt pods install MyProject`
56
- Then the file "MyProject/Gemfile" should contain:
57
- """
58
- gem "Cocoapods"
59
- """
60
- And the double `bundle exec pod install` should have been run
@@ -1,20 +0,0 @@
1
- Feature: Create frank model from core data
2
- As a lead developer working on a project
3
- I want to generate ruby classes that mirror my CoreData model
4
- So I can refer to core data entities from my Frank tests
5
-
6
- Background:
7
- Given a configured installation of FWToolkit for "Tom the Dev" working for "Awesome Company"
8
-
9
- @frank
10
- Scenario: generate ruby model from CoreData
11
- Given an initialized FW iOS project named "MyProject"
12
- And the project "MyProject" contains a valid CoreData model
13
- When I run `fwt test model MyProject`
14
- Then I cd to "MyProject"
15
- And the following files should exist:
16
- | MyProject/Frank/features/support/views/my_objects_json.erb |
17
- | MyProject/Frank/features/support/views/my_objects_xml.erb |
18
- | MyProject/Frank/features/support/models/factories.rb |
19
- | MyProject/Frank/features/support/models/Ent1.rb |
20
- | MyProject/Frank/features/support/models/Ent2.rb |
@@ -1,28 +0,0 @@
1
- Feature: Frankifie a project
2
- As a lead developer working on a project
3
- I want a quick way to set up my project with frank
4
- So I can add BDD tests to it
5
-
6
- Background:
7
- Given a configured installation of FWToolkit for "Tom the Dev" working for "Awesome Company"
8
-
9
- @frank @no-clobber @test @announce
10
- Scenario: setup an existing project
11
- Given an initialized FW iOS project named "MyProject"
12
- When I successfully run `fwt test setup MyProject`
13
- Then I cd to "MyProject"
14
- And the following files should exist:
15
- | MyProject/MyProject/AAAAppDelegate+Frank.h |
16
- | MyProject/MyProject/AAAAppDelegate+Frank.m |
17
- | MyProject/Frank/Features/step_definitions/launch_steps.rb |
18
- | MyProject/Frank/Features/support/env.rb |
19
- | MyProject/Frank/Features/support/mimic.rb |
20
-
21
-
22
- @frank @slom
23
- Scenario: try to setup a project that already has frank
24
- Given an initialized FW iOS project named "MyProject"
25
- And I successfully run `fwt test setup MyProject`
26
- When I run `fwt test setup MyProject`
27
- Then the output should contain "Frank is already set up for the project"
28
-