fwtoolkit 2.3.1 → 2.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
-