workarea-blog 3.4.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (213) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +20 -0
  3. data/.eslintignore +2 -0
  4. data/.eslintrc +24 -0
  5. data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
  6. data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
  7. data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  8. data/.gitignore +16 -0
  9. data/.rspec +2 -0
  10. data/.scss-lint.yml +188 -0
  11. data/.tailor +180 -0
  12. data/.yardopts +1 -0
  13. data/CHANGELOG.md +1123 -0
  14. data/CODE_OF_CONDUCT.md +3 -0
  15. data/CONTRIBUTING.md +3 -0
  16. data/Gemfile +7 -0
  17. data/LICENSE +52 -0
  18. data/README.md +140 -0
  19. data/Rakefile +42 -0
  20. data/app/assets/images/workarea/admin/blog/content_block_types/blog_entry.svg +1 -0
  21. data/app/assets/images/workarea/admin/blog/icons/blog.svg +1 -0
  22. data/app/assets/images/workarea/admin/blog/icons/blog_entry.svg +1 -0
  23. data/app/assets/images/workarea/admin/blog/icons/blog_post_comment.svg +1 -0
  24. data/app/assets/javascripts/workarea/storefront/blog/modules/blog_comment_placeholder.js +33 -0
  25. data/app/assets/stylesheets/workarea/admin/blog/components/_blog_entry_card.scss +14 -0
  26. data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry.scss +91 -0
  27. data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry_summary.scss +74 -0
  28. data/app/assets/stylesheets/workarea/storefront/blog/components/_featured_entry_content_block.scss +22 -0
  29. data/app/controllers/workarea/admin/application_controller.decorator +5 -0
  30. data/app/controllers/workarea/admin/content_blog_comments_controller.rb +54 -0
  31. data/app/controllers/workarea/admin/content_blog_entries_controller.rb +70 -0
  32. data/app/controllers/workarea/admin/content_blogs_controller.rb +56 -0
  33. data/app/controllers/workarea/admin/create_content_blog_entries_controller.rb +69 -0
  34. data/app/controllers/workarea/storefront/blog_comments_controller.rb +14 -0
  35. data/app/controllers/workarea/storefront/blog_entries_controller.rb +48 -0
  36. data/app/controllers/workarea/storefront/blogs_controller.rb +19 -0
  37. data/app/helpers/workarea/admin/blogs_helper.rb +61 -0
  38. data/app/models/workarea/content/blog.rb +26 -0
  39. data/app/models/workarea/content/blog_comment.rb +67 -0
  40. data/app/models/workarea/content/blog_entry.rb +35 -0
  41. data/app/models/workarea/content/fields/blog_entry_id.rb +11 -0
  42. data/app/models/workarea/content/fields/blog_id.rb +8 -0
  43. data/app/models/workarea/search/admin/content_blog.rb +27 -0
  44. data/app/models/workarea/search/admin/content_blog_entry.rb +37 -0
  45. data/app/queries/workarea/metadata/content_blog.rb +6 -0
  46. data/app/queries/workarea/metadata/content_blog_entry.rb +6 -0
  47. data/app/queries/workarea/search/admin_blog_entries.rb +24 -0
  48. data/app/queries/workarea/search/admin_blogs.rb +20 -0
  49. data/app/seeds/workarea/blog_comments_seeds.rb +26 -0
  50. data/app/seeds/workarea/blog_entry_seeds.rb +73 -0
  51. data/app/seeds/workarea/blog_seeds.rb +53 -0
  52. data/app/services/workarea/search/queries/blog_admin.rb +20 -0
  53. data/app/services/workarea/search/queries/blog_entry_admin.rb +13 -0
  54. data/app/services/workarea/set_navigable.decorator +10 -0
  55. data/app/view_models/workarea/admin/blog_comments_view_model.rb +45 -0
  56. data/app/view_models/workarea/admin/blog_entries_view_model.rb +31 -0
  57. data/app/view_models/workarea/admin/blog_entry_view_model.rb +29 -0
  58. data/app/view_models/workarea/admin/blog_search_view_model.rb +6 -0
  59. data/app/view_models/workarea/admin/blog_view_model.rb +13 -0
  60. data/app/view_models/workarea/storefront/blog_entry_view_model.rb +43 -0
  61. data/app/view_models/workarea/storefront/blog_index_view_model.rb +17 -0
  62. data/app/view_models/workarea/storefront/blog_view_model.rb +83 -0
  63. data/app/view_models/workarea/storefront/content_blocks/blog_entry_content_block_view_model.rb +63 -0
  64. data/app/views/workarea/admin/activities/_content_blog_comment_create.html.haml +12 -0
  65. data/app/views/workarea/admin/activities/_content_blog_comment_destroy.html.haml +9 -0
  66. data/app/views/workarea/admin/activities/_content_blog_comment_update.html.haml +10 -0
  67. data/app/views/workarea/admin/activities/_content_blog_create.html.haml +12 -0
  68. data/app/views/workarea/admin/activities/_content_blog_destroy.html.haml +10 -0
  69. data/app/views/workarea/admin/activities/_content_blog_entry_create.html.haml +12 -0
  70. data/app/views/workarea/admin/activities/_content_blog_entry_destroy.html.haml +10 -0
  71. data/app/views/workarea/admin/activities/_content_blog_entry_update.html.haml +10 -0
  72. data/app/views/workarea/admin/activities/_content_blog_update.html.haml +10 -0
  73. data/app/views/workarea/admin/blog/_dashboard_navigation.html.haml +1 -0
  74. data/app/views/workarea/admin/blog/_menu.html.haml +13 -0
  75. data/app/views/workarea/admin/content_blocks/_blog_entry_id.html.haml +4 -0
  76. data/app/views/workarea/admin/content_blocks/_blog_id.html.haml +3 -0
  77. data/app/views/workarea/admin/content_blog_comments/_summary.html.haml +24 -0
  78. data/app/views/workarea/admin/content_blog_comments/edit.html.haml +60 -0
  79. data/app/views/workarea/admin/content_blog_comments/index.html.haml +49 -0
  80. data/app/views/workarea/admin/content_blog_entries/_aux_navigation.html.haml +4 -0
  81. data/app/views/workarea/admin/content_blog_entries/_cards.html.haml +113 -0
  82. data/app/views/workarea/admin/content_blog_entries/_summary.html.haml +10 -0
  83. data/app/views/workarea/admin/content_blog_entries/edit.html.haml +75 -0
  84. data/app/views/workarea/admin/content_blog_entries/index.html.haml +80 -0
  85. data/app/views/workarea/admin/content_blog_entries/index.json.jbuilder +5 -0
  86. data/app/views/workarea/admin/content_blog_entries/show.html.haml +20 -0
  87. data/app/views/workarea/admin/content_blog_entries/thumbnail_image.html.haml +55 -0
  88. data/app/views/workarea/admin/content_blogs/_aux_navigation.html.haml +2 -0
  89. data/app/views/workarea/admin/content_blogs/_cards.html.haml +58 -0
  90. data/app/views/workarea/admin/content_blogs/_summary.html.haml +6 -0
  91. data/app/views/workarea/admin/content_blogs/edit.html.haml +51 -0
  92. data/app/views/workarea/admin/content_blogs/index.html.haml +76 -0
  93. data/app/views/workarea/admin/content_blogs/index.json.jbuilder +4 -0
  94. data/app/views/workarea/admin/content_blogs/new.html.haml +33 -0
  95. data/app/views/workarea/admin/content_blogs/show.html.haml +19 -0
  96. data/app/views/workarea/admin/create_content_blog_entries/content.html.haml +28 -0
  97. data/app/views/workarea/admin/create_content_blog_entries/featured_products.html.haml +71 -0
  98. data/app/views/workarea/admin/create_content_blog_entries/publish.html.haml +51 -0
  99. data/app/views/workarea/admin/create_content_blog_entries/setup.html.haml +61 -0
  100. data/app/views/workarea/admin/create_content_blog_entries/thumbnail_image.html.haml +48 -0
  101. data/app/views/workarea/storefront/blog_comments/index.html.haml +31 -0
  102. data/app/views/workarea/storefront/blog_entries/_summary.html.haml +25 -0
  103. data/app/views/workarea/storefront/blog_entries/show.html.haml +85 -0
  104. data/app/views/workarea/storefront/blog_metadata/_publisher.html.haml +7 -0
  105. data/app/views/workarea/storefront/blogs/_blog_navigation.html.haml +7 -0
  106. data/app/views/workarea/storefront/blogs/index.html.haml +25 -0
  107. data/app/views/workarea/storefront/blogs/show.atom.builder +26 -0
  108. data/app/views/workarea/storefront/blogs/show.html.haml +31 -0
  109. data/app/views/workarea/storefront/content_blocks/_blog_entry.html.haml +20 -0
  110. data/app/workers/workarea/generate_content_metadata.decorator +15 -0
  111. data/bin/rails +18 -0
  112. data/config/initializers/appends.rb +26 -0
  113. data/config/initializers/content_block_types.rb +13 -0
  114. data/config/initializers/jump_to_navigation.rb +3 -0
  115. data/config/initializers/seeds.rb +5 -0
  116. data/config/initializers/workarea.rb +15 -0
  117. data/config/locales/en.yml +244 -0
  118. data/config/routes.rb +49 -0
  119. data/data/blog_thumbnails/thumbnail_1.png +0 -0
  120. data/data/blog_thumbnails/thumbnail_2.png +0 -0
  121. data/data/blog_thumbnails/thumbnail_3.png +0 -0
  122. data/lib/tasks/import_wordpress.rake +13 -0
  123. data/lib/tasks/import_wordpress_attachments.rake +18 -0
  124. data/lib/tasks/import_wordpress_pages.rake +21 -0
  125. data/lib/tasks/import_wordpress_posts.rake +25 -0
  126. data/lib/workarea/blog/engine.rb +8 -0
  127. data/lib/workarea/blog/import/wordpress/attachment.rb +40 -0
  128. data/lib/workarea/blog/import/wordpress/content_cleaner.rb +64 -0
  129. data/lib/workarea/blog/import/wordpress/entry.rb +76 -0
  130. data/lib/workarea/blog/import/wordpress/entry_parser.rb +64 -0
  131. data/lib/workarea/blog/import/wordpress/page.rb +69 -0
  132. data/lib/workarea/blog/import/wordpress/page_parser.rb +50 -0
  133. data/lib/workarea/blog/version.rb +5 -0
  134. data/lib/workarea/blog.rb +11 -0
  135. data/test/dummy/Rakefile +6 -0
  136. data/test/dummy/app/assets/config/manifest.js +4 -0
  137. data/test/dummy/app/assets/images/.keep +0 -0
  138. data/test/dummy/app/assets/javascripts/application.js +13 -0
  139. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  140. data/test/dummy/app/controllers/application_controller.rb +3 -0
  141. data/test/dummy/app/controllers/concerns/.keep +0 -0
  142. data/test/dummy/app/helpers/application_helper.rb +2 -0
  143. data/test/dummy/app/jobs/application_job.rb +2 -0
  144. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  145. data/test/dummy/app/models/concerns/.keep +0 -0
  146. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  147. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  148. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  149. data/test/dummy/bin/bundle +3 -0
  150. data/test/dummy/bin/rails +4 -0
  151. data/test/dummy/bin/rake +4 -0
  152. data/test/dummy/bin/setup +34 -0
  153. data/test/dummy/bin/update +29 -0
  154. data/test/dummy/config/application.rb +26 -0
  155. data/test/dummy/config/boot.rb +5 -0
  156. data/test/dummy/config/cable.yml +9 -0
  157. data/test/dummy/config/environment.rb +5 -0
  158. data/test/dummy/config/environments/development.rb +59 -0
  159. data/test/dummy/config/environments/production.rb +86 -0
  160. data/test/dummy/config/environments/test.rb +43 -0
  161. data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  162. data/test/dummy/config/initializers/assets.rb +11 -0
  163. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  164. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  165. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  166. data/test/dummy/config/initializers/inflections.rb +16 -0
  167. data/test/dummy/config/initializers/mime_types.rb +4 -0
  168. data/test/dummy/config/initializers/new_framework_defaults.rb +18 -0
  169. data/test/dummy/config/initializers/session_store.rb +3 -0
  170. data/test/dummy/config/initializers/workarea.rb +3 -0
  171. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  172. data/test/dummy/config/locales/en.yml +23 -0
  173. data/test/dummy/config/puma.rb +47 -0
  174. data/test/dummy/config/routes.rb +5 -0
  175. data/test/dummy/config/secrets.yml +22 -0
  176. data/test/dummy/config/spring.rb +6 -0
  177. data/test/dummy/config.ru +5 -0
  178. data/test/dummy/db/seeds.rb +2 -0
  179. data/test/dummy/lib/assets/.keep +0 -0
  180. data/test/dummy/log/.keep +0 -0
  181. data/test/factories/blog.rb +33 -0
  182. data/test/factories/wordpress_import.rb +17 -0
  183. data/test/fixtures/test_wordpress.xml +493 -0
  184. data/test/integration/workarea/blog/admin_integration_test.rb +55 -0
  185. data/test/integration/workarea/blog/create_blog_entries_integration_test.rb +106 -0
  186. data/test/integration/workarea/blog/storefront_integration_test.rb +112 -0
  187. data/test/integration/workarea/blog/wordpress_import_integration_test.rb +26 -0
  188. data/test/lib/workarea/blog/import/wordpress/attachment_test.rb +20 -0
  189. data/test/lib/workarea/blog/import/wordpress/content_cleaner_test.rb +65 -0
  190. data/test/lib/workarea/blog/import/wordpress/entry_parser_test.rb +42 -0
  191. data/test/lib/workarea/blog/import/wordpress/entry_test.rb +61 -0
  192. data/test/lib/workarea/blog/import/wordpress/page_parser_test.rb +35 -0
  193. data/test/lib/workarea/blog/import/wordpress/page_test.rb +52 -0
  194. data/test/models/workarea/content/blog_comment_test.rb +57 -0
  195. data/test/models/workarea/content/blog_entry_test.rb +17 -0
  196. data/test/queries/workarea/metadata/content_blog_entry_test.rb +36 -0
  197. data/test/queries/workarea/metadata/content_blog_test.rb +36 -0
  198. data/test/support/workarea/blog/stub_wordpress_assets.rb +19 -0
  199. data/test/system/workarea/admin/blog_entries_system_test.rb +103 -0
  200. data/test/system/workarea/admin/blog_system_test.rb +93 -0
  201. data/test/system/workarea/admin/blog_taxonomy_system_test.rb +21 -0
  202. data/test/system/workarea/admin/blog_user_comments_system_test.rb +138 -0
  203. data/test/system/workarea/storefront/blog_content_block_system_test.rb +36 -0
  204. data/test/system/workarea/storefront/blog_system_test.rb +256 -0
  205. data/test/test_helper.rb +9 -0
  206. data/test/view_models/workarea/admin/blog_comments_view_model_test.rb +77 -0
  207. data/test/view_models/workarea/admin/blog_entries_view_model_test.rb +36 -0
  208. data/test/view_models/workarea/storefront/blog_entry_content_block_view_model_test.rb +100 -0
  209. data/test/view_models/workarea/storefront/blog_entry_view_model_test.rb +47 -0
  210. data/test/view_models/workarea/storefront/blog_view_model_test.rb +149 -0
  211. data/test/workers/workarea/generate_content_blog_metadata_test.rb +18 -0
  212. data/workarea-blog.gemspec +19 -0
  213. metadata +274 -0
@@ -0,0 +1,493 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <!-- This is a WordPress eXtended RSS file generated by WordPress as an export of your site. -->
3
+ <!-- It contains information about your site's posts, pages, comments, categories, and other content. -->
4
+ <!-- You may use this file to transfer that content from one site to another. -->
5
+ <!-- This file is not intended to serve as a complete backup of your site. -->
6
+
7
+ <!-- To import this information into a WordPress site follow these steps: -->
8
+ <!-- 1. Log in to that site as an administrator. -->
9
+ <!-- 2. Go to Tools: Import in the WordPress admin panel. -->
10
+ <!-- 3. Install the "WordPress" importer from the list. -->
11
+ <!-- 4. Activate & Run Importer. -->
12
+ <!-- 5. Upload this file using the form provided on that page. -->
13
+ <!-- 6. You will first be asked to map the authors in this export file to users -->
14
+ <!-- on the site. For each author, you may choose to map to an -->
15
+ <!-- existing user on the site or to create a new user. -->
16
+ <!-- 7. WordPress will then import each of the posts, pages, comments, categories, etc. -->
17
+ <!-- contained in this file into your site. -->
18
+
19
+ <!-- generator="WordPress.com" created="2018-11-15 15:54"-->
20
+ <rss version="2.0"
21
+ xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
22
+ xmlns:content="http://purl.org/rss/1.0/modules/content/"
23
+ xmlns:wfw="http://wellformedweb.org/CommentAPI/"
24
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
25
+ xmlns:wp="http://wordpress.org/export/1.2/"
26
+ >
27
+
28
+ <channel>
29
+ <title>TestingExport</title>
30
+ <link>https://testingwordpressexports.wordpress.com</link>
31
+ <description></description>
32
+ <pubDate>Thu, 15 Nov 2018 15:54:50 +0000</pubDate>
33
+ <language></language>
34
+ <wp:wxr_version>1.2</wp:wxr_version>
35
+ <wp:base_site_url>http://wordpress.com/</wp:base_site_url>
36
+ <wp:base_blog_url>https://testingwordpressexports.wordpress.com</wp:base_blog_url>
37
+
38
+ <wp:author><wp:author_id>79933411</wp:author_id><wp:author_login><![CDATA[jberesford2018]]></wp:author_login><wp:author_email><![CDATA[jberesford@weblinc.com]]></wp:author_email><wp:author_display_name><![CDATA[jberesford2018]]></wp:author_display_name><wp:author_first_name><![CDATA[]]></wp:author_first_name><wp:author_last_name><![CDATA[]]></wp:author_last_name></wp:author>
39
+
40
+ <wp:category><wp:term_id>1</wp:term_id><wp:category_nicename>uncategorized</wp:category_nicename><wp:category_parent></wp:category_parent><wp:cat_name><![CDATA[Uncategorized]]></wp:cat_name>
41
+ </wp:category>
42
+ <wp:term><wp:term_id>1357</wp:term_id><wp:term_taxonomy>nav_menu</wp:term_taxonomy><wp:term_slug><![CDATA[primary]]></wp:term_slug><wp:term_name><![CDATA[Primary]]></wp:term_name>
43
+ </wp:term>
44
+
45
+ <generator>http://wordpress.com/</generator>
46
+ <image>
47
+ <url>http://s0.wp.com/i/buttonw-com.png</url>
48
+ <title>TestingExport</title>
49
+ <link>https://testingwordpressexports.wordpress.com</link>
50
+ </image>
51
+
52
+ <item>
53
+ <title>Contact</title>
54
+ <link>https://testingwordpressexports.wordpress.com/contact/</link>
55
+ <pubDate>Thu, 15 Nov 2018 15:35:20 +0000</pubDate>
56
+ <dc:creator>jberesford2018</dc:creator>
57
+ <guid isPermaLink="false">https://testingwordpressexports.wordpress.com/?page_id=2</guid>
58
+ <description></description>
59
+ <content:encoded><![CDATA[[contact-form][contact-field label="Name" type="name" required="1"/][contact-field label="Email" type="email" required="1"/][contact-field label="Comment" type="textarea" required="1"/][/contact-form]]]></content:encoded>
60
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
61
+ <wp:post_id>2</wp:post_id>
62
+ <wp:post_date>2018-11-15 15:35:20</wp:post_date>
63
+ <wp:post_date_gmt>2018-11-15 15:35:20</wp:post_date_gmt>
64
+ <wp:comment_status>closed</wp:comment_status>
65
+ <wp:ping_status>closed</wp:ping_status>
66
+ <wp:post_name>contact</wp:post_name>
67
+ <wp:status>publish</wp:status>
68
+ <wp:post_parent>0</wp:post_parent>
69
+ <wp:menu_order>3</wp:menu_order>
70
+ <wp:post_type>page</wp:post_type>
71
+ <wp:post_password></wp:post_password>
72
+ <wp:is_sticky>0</wp:is_sticky>
73
+ <wp:postmeta>
74
+ <wp:meta_key>_headstart_post</wp:meta_key>
75
+ <wp:meta_value><![CDATA[_hs_contact_page]]></wp:meta_value>
76
+ </wp:postmeta>
77
+ <wp:postmeta>
78
+ <wp:meta_key>sharing_disabled</wp:meta_key>
79
+ <wp:meta_value><![CDATA[a:1:{i:0;i:0;}]]></wp:meta_value>
80
+ </wp:postmeta>
81
+ <wp:postmeta>
82
+ <wp:meta_key>switch_like_status</wp:meta_key>
83
+ <wp:meta_value><![CDATA[a:1:{i:0;i:0;}]]></wp:meta_value>
84
+ </wp:postmeta>
85
+ <wp:postmeta>
86
+ <wp:meta_key>_wpas_skip_all_services</wp:meta_key>
87
+ <wp:meta_value><![CDATA[1]]></wp:meta_value>
88
+ </wp:postmeta>
89
+ <wp:postmeta>
90
+ <wp:meta_key>_publicize_pending</wp:meta_key>
91
+ <wp:meta_value><![CDATA[1]]></wp:meta_value>
92
+ </wp:postmeta>
93
+ <wp:postmeta>
94
+ <wp:meta_key>_checklist_post_type</wp:meta_key>
95
+ <wp:meta_value><![CDATA[_hs_contact_page]]></wp:meta_value>
96
+ </wp:postmeta>
97
+ <wp:postmeta>
98
+ <wp:meta_key>_thumbnail_id</wp:meta_key>
99
+ <wp:meta_value><![CDATA[8]]></wp:meta_value>
100
+ </wp:postmeta>
101
+ </item>
102
+ <item>
103
+ <title>The Journey Begins</title>
104
+ <link>https://testingwordpressexports.wordpress.com/2018/11/15/the-journey-begins/</link>
105
+ <pubDate>Thu, 15 Nov 2018 15:35:19 +0000</pubDate>
106
+ <dc:creator>jberesford2018</dc:creator>
107
+ <guid isPermaLink="false">https://testingwordpressexports.wordpress.com/?p=3</guid>
108
+ <description></description>
109
+ <content:encoded><![CDATA[Thanks for joining me! <blockquote>Good company in a journey makes the way seem shorter. — Izaak Walton</blockquote><img class="wp-image-7 size-full" src="https://twentysixteendemo.files.wordpress.com/2015/11/post.png" alt="post" width="1000" height="563" />]]></content:encoded>
110
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
111
+ <wp:post_id>3</wp:post_id>
112
+ <wp:post_date>2018-11-15 15:35:19</wp:post_date>
113
+ <wp:post_date_gmt>2018-11-15 15:35:19</wp:post_date_gmt>
114
+ <wp:comment_status>open</wp:comment_status>
115
+ <wp:ping_status>open</wp:ping_status>
116
+ <wp:post_name>the-journey-begins</wp:post_name>
117
+ <wp:status>publish</wp:status>
118
+ <wp:post_parent>0</wp:post_parent>
119
+ <wp:menu_order>0</wp:menu_order>
120
+ <wp:post_type>post</wp:post_type>
121
+ <wp:post_password></wp:post_password>
122
+ <wp:is_sticky>0</wp:is_sticky>
123
+ <category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
124
+ <wp:postmeta>
125
+ <wp:meta_key>_headstart_post</wp:meta_key>
126
+ <wp:meta_value><![CDATA[_hs_first_post]]></wp:meta_value>
127
+ </wp:postmeta>
128
+ <wp:postmeta>
129
+ <wp:meta_key>sharing_disabled</wp:meta_key>
130
+ <wp:meta_value><![CDATA[a:1:{i:0;i:0;}]]></wp:meta_value>
131
+ </wp:postmeta>
132
+ <wp:postmeta>
133
+ <wp:meta_key>switch_like_status</wp:meta_key>
134
+ <wp:meta_value><![CDATA[a:1:{i:0;i:0;}]]></wp:meta_value>
135
+ </wp:postmeta>
136
+ <wp:postmeta>
137
+ <wp:meta_key>_wpas_skip_all_services</wp:meta_key>
138
+ <wp:meta_value><![CDATA[1]]></wp:meta_value>
139
+ </wp:postmeta>
140
+ <wp:postmeta>
141
+ <wp:meta_key>_publicize_pending</wp:meta_key>
142
+ <wp:meta_value><![CDATA[1]]></wp:meta_value>
143
+ </wp:postmeta>
144
+ </item>
145
+ <item>
146
+ <title>Home</title>
147
+ <link>https://testingwordpressexports.wordpress.com/2018/11/15/home/</link>
148
+ <pubDate>Thu, 15 Nov 2018 15:40:20 +0000</pubDate>
149
+ <dc:creator>jberesford2018</dc:creator>
150
+ <guid isPermaLink="false">https://testingwordpressexports.wordpress.com/2018/11/15/home/</guid>
151
+ <description></description>
152
+ <content:encoded><![CDATA[]]></content:encoded>
153
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
154
+ <wp:post_id>6</wp:post_id>
155
+ <wp:post_date>2018-11-15 15:40:20</wp:post_date>
156
+ <wp:post_date_gmt>2018-11-15 15:40:20</wp:post_date_gmt>
157
+ <wp:comment_status>closed</wp:comment_status>
158
+ <wp:ping_status>closed</wp:ping_status>
159
+ <wp:post_name>home</wp:post_name>
160
+ <wp:status>publish</wp:status>
161
+ <wp:post_parent>0</wp:post_parent>
162
+ <wp:menu_order>0</wp:menu_order>
163
+ <wp:post_type>nav_menu_item</wp:post_type>
164
+ <wp:post_password></wp:post_password>
165
+ <wp:is_sticky>0</wp:is_sticky>
166
+ <category domain="nav_menu" nicename="primary"><![CDATA[Primary]]></category>
167
+ <wp:postmeta>
168
+ <wp:meta_key>_publicize_pending</wp:meta_key>
169
+ <wp:meta_value><![CDATA[1]]></wp:meta_value>
170
+ </wp:postmeta>
171
+ <wp:postmeta>
172
+ <wp:meta_key>_menu_item_type</wp:meta_key>
173
+ <wp:meta_value><![CDATA[custom]]></wp:meta_value>
174
+ </wp:postmeta>
175
+ <wp:postmeta>
176
+ <wp:meta_key>_menu_item_menu_item_parent</wp:meta_key>
177
+ <wp:meta_value><![CDATA[0]]></wp:meta_value>
178
+ </wp:postmeta>
179
+ <wp:postmeta>
180
+ <wp:meta_key>_menu_item_object_id</wp:meta_key>
181
+ <wp:meta_value><![CDATA[6]]></wp:meta_value>
182
+ </wp:postmeta>
183
+ <wp:postmeta>
184
+ <wp:meta_key>_menu_item_object</wp:meta_key>
185
+ <wp:meta_value><![CDATA[custom]]></wp:meta_value>
186
+ </wp:postmeta>
187
+ <wp:postmeta>
188
+ <wp:meta_key>_menu_item_target</wp:meta_key>
189
+ <wp:meta_value><![CDATA[]]></wp:meta_value>
190
+ </wp:postmeta>
191
+ <wp:postmeta>
192
+ <wp:meta_key>_menu_item_classes</wp:meta_key>
193
+ <wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
194
+ </wp:postmeta>
195
+ <wp:postmeta>
196
+ <wp:meta_key>_menu_item_xfn</wp:meta_key>
197
+ <wp:meta_value><![CDATA[]]></wp:meta_value>
198
+ </wp:postmeta>
199
+ <wp:postmeta>
200
+ <wp:meta_key>_menu_item_url</wp:meta_key>
201
+ <wp:meta_value><![CDATA[/]]></wp:meta_value>
202
+ </wp:postmeta>
203
+ </item>
204
+ <item>
205
+ <title></title>
206
+ <link>https://testingwordpressexports.wordpress.com/2018/11/15/7/</link>
207
+ <pubDate>Thu, 15 Nov 2018 15:40:20 +0000</pubDate>
208
+ <dc:creator>jberesford2018</dc:creator>
209
+ <guid isPermaLink="false">https://testingwordpressexports.wordpress.com/2018/11/15/7/</guid>
210
+ <description></description>
211
+ <content:encoded><![CDATA[ ]]></content:encoded>
212
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
213
+ <wp:post_id>7</wp:post_id>
214
+ <wp:post_date>2018-11-15 15:40:20</wp:post_date>
215
+ <wp:post_date_gmt>2018-11-15 15:40:20</wp:post_date_gmt>
216
+ <wp:comment_status>closed</wp:comment_status>
217
+ <wp:ping_status>closed</wp:ping_status>
218
+ <wp:post_name>7</wp:post_name>
219
+ <wp:status>publish</wp:status>
220
+ <wp:post_parent>0</wp:post_parent>
221
+ <wp:menu_order>3</wp:menu_order>
222
+ <wp:post_type>nav_menu_item</wp:post_type>
223
+ <wp:post_password></wp:post_password>
224
+ <wp:is_sticky>0</wp:is_sticky>
225
+ <category domain="nav_menu" nicename="primary"><![CDATA[Primary]]></category>
226
+ <wp:postmeta>
227
+ <wp:meta_key>_publicize_pending</wp:meta_key>
228
+ <wp:meta_value><![CDATA[1]]></wp:meta_value>
229
+ </wp:postmeta>
230
+ <wp:postmeta>
231
+ <wp:meta_key>_menu_item_type</wp:meta_key>
232
+ <wp:meta_value><![CDATA[post_type]]></wp:meta_value>
233
+ </wp:postmeta>
234
+ <wp:postmeta>
235
+ <wp:meta_key>_menu_item_menu_item_parent</wp:meta_key>
236
+ <wp:meta_value><![CDATA[0]]></wp:meta_value>
237
+ </wp:postmeta>
238
+ <wp:postmeta>
239
+ <wp:meta_key>_menu_item_object_id</wp:meta_key>
240
+ <wp:meta_value><![CDATA[2]]></wp:meta_value>
241
+ </wp:postmeta>
242
+ <wp:postmeta>
243
+ <wp:meta_key>_menu_item_object</wp:meta_key>
244
+ <wp:meta_value><![CDATA[page]]></wp:meta_value>
245
+ </wp:postmeta>
246
+ <wp:postmeta>
247
+ <wp:meta_key>_menu_item_target</wp:meta_key>
248
+ <wp:meta_value><![CDATA[]]></wp:meta_value>
249
+ </wp:postmeta>
250
+ <wp:postmeta>
251
+ <wp:meta_key>_menu_item_classes</wp:meta_key>
252
+ <wp:meta_value><![CDATA[a:1:{i:0;s:0:"";}]]></wp:meta_value>
253
+ </wp:postmeta>
254
+ <wp:postmeta>
255
+ <wp:meta_key>_menu_item_xfn</wp:meta_key>
256
+ <wp:meta_value><![CDATA[]]></wp:meta_value>
257
+ </wp:postmeta>
258
+ <wp:postmeta>
259
+ <wp:meta_key>_menu_item_url</wp:meta_key>
260
+ <wp:meta_value><![CDATA[]]></wp:meta_value>
261
+ </wp:postmeta>
262
+ </item>
263
+ <item>
264
+ <title>Placeholder Image</title>
265
+ <link>https://testingwordpressexports.wordpress.com/contact/placeholder-image/</link>
266
+ <pubDate>Thu, 15 Nov 2018 15:40:21 +0000</pubDate>
267
+ <dc:creator>jberesford2018</dc:creator>
268
+ <guid isPermaLink="false">http://testingwordpressexports.files.wordpress.com/2018/11/person-smartphone-office-table.jpeg</guid>
269
+ <description></description>
270
+ <content:encoded><![CDATA[]]></content:encoded>
271
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
272
+ <wp:post_id>8</wp:post_id>
273
+ <wp:post_date>2018-11-15 15:40:21</wp:post_date>
274
+ <wp:post_date_gmt>2018-11-15 15:40:21</wp:post_date_gmt>
275
+ <wp:comment_status>open</wp:comment_status>
276
+ <wp:ping_status>closed</wp:ping_status>
277
+ <wp:post_name>placeholder-image</wp:post_name>
278
+ <wp:status>inherit</wp:status>
279
+ <wp:post_parent>2</wp:post_parent>
280
+ <wp:menu_order>0</wp:menu_order>
281
+ <wp:post_type>attachment</wp:post_type>
282
+ <wp:post_password></wp:post_password>
283
+ <wp:is_sticky>0</wp:is_sticky>
284
+ <wp:attachment_url>https://testingwordpressexports.files.wordpress.com/2018/11/person-smartphone-office-table.jpeg</wp:attachment_url>
285
+ <wp:postmeta>
286
+ <wp:meta_key>_wp_attached_file</wp:meta_key>
287
+ <wp:meta_value><![CDATA[/home/wpcom/public_html/wp-content/blogs.dir/5f0/154461687/files/2018/11/person-smartphone-office-table.jpeg]]></wp:meta_value>
288
+ </wp:postmeta>
289
+ <wp:postmeta>
290
+ <wp:meta_key>_wp_attachment_metadata</wp:meta_key>
291
+ <wp:meta_value><![CDATA[a:6:{s:5:"width";i:1600;s:6:"height";i:1067;s:4:"file";s:108:"/home/wpcom/public_html/wp-content/blogs.dir/5f0/154461687/files/2018/11/person-smartphone-office-table.jpeg";s:5:"sizes";a:0:{}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}s:8:"filesize";i:55817;}]]></wp:meta_value>
292
+ </wp:postmeta>
293
+ </item>
294
+ <item>
295
+ <title>Placeholder Image2</title>
296
+ <link>https://testingwordpressexports.wordpress.com/contact/placeholder-image/</link>
297
+ <pubDate>Thu, 15 Nov 2018 15:40:21 +0000</pubDate>
298
+ <dc:creator>jberesford2018</dc:creator>
299
+ <guid isPermaLink="false">http://testingwordpressexports.files.wordpress.com/2018/11/person-smartphone-office-table.jpeg</guid>
300
+ <description></description>
301
+ <content:encoded><![CDATA[]]></content:encoded>
302
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
303
+ <wp:post_id>8</wp:post_id>
304
+ <wp:post_date>2018-11-15 15:40:21</wp:post_date>
305
+ <wp:post_date_gmt>2018-11-15 15:40:21</wp:post_date_gmt>
306
+ <wp:comment_status>open</wp:comment_status>
307
+ <wp:ping_status>closed</wp:ping_status>
308
+ <wp:post_name>placeholder-image</wp:post_name>
309
+ <wp:status>inherit</wp:status>
310
+ <wp:post_parent>2</wp:post_parent>
311
+ <wp:menu_order>0</wp:menu_order>
312
+ <wp:post_type>attachment</wp:post_type>
313
+ <wp:post_password></wp:post_password>
314
+ <wp:is_sticky>0</wp:is_sticky>
315
+ <wp:attachment_url>https://testingwordpressexports.files.wordpress.com/2018/11/person-smartphone-office-table2.jpeg</wp:attachment_url>
316
+ <wp:postmeta>
317
+ <wp:meta_key>_wp_attached_file</wp:meta_key>
318
+ <wp:meta_value><![CDATA[/home/wpcom/public_html/wp-content/blogs.dir/5f0/154461687/files/2018/11/person-smartphone-office-table.jpeg]]></wp:meta_value>
319
+ </wp:postmeta>
320
+ <wp:postmeta>
321
+ <wp:meta_key>_wp_attachment_metadata</wp:meta_key>
322
+ <wp:meta_value><![CDATA[a:6:{s:5:"width";i:1600;s:6:"height";i:1067;s:4:"file";s:108:"/home/wpcom/public_html/wp-content/blogs.dir/5f0/154461687/files/2018/11/person-smartphone-office-table.jpeg";s:5:"sizes";a:0:{}s:10:"image_meta";a:12:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";s:11:"orientation";s:1:"0";s:8:"keywords";a:0:{}}s:8:"filesize";i:55817;}]]></wp:meta_value>
323
+ </wp:postmeta>
324
+ </item>
325
+ <item>
326
+ <title>This is a blog post</title>
327
+ <link>https://testingwordpressexports.wordpress.com/2018/11/15/this-is-a-blog-post/</link>
328
+ <pubDate>Thu, 15 Nov 2018 15:41:52 +0000</pubDate>
329
+ <dc:creator>jberesford2018</dc:creator>
330
+ <guid isPermaLink="false">https://testingwordpressexports.wordpress.com/?p=9</guid>
331
+ <description></description>
332
+ <content:encoded><![CDATA[Wow, the new editor is really cool!
333
+
334
+ I love how I can just type here and change things to <a href="https://testingwordpressexports.wordpress.com/2018/11/15/this-is-a-second-blog-post">links</a>
335
+
336
+ <img class="alignnone size-full wp-image-8" src="https://testingwordpressexports.files.wordpress.com/2018/11/person-smartphone-office-table.jpeg" alt="Placeholder Image" width="1600" height="1067" />]]></content:encoded>
337
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
338
+ <wp:post_id>9</wp:post_id>
339
+ <wp:post_date>2018-11-15 15:41:52</wp:post_date>
340
+ <wp:post_date_gmt>2018-11-15 15:41:52</wp:post_date_gmt>
341
+ <wp:comment_status>open</wp:comment_status>
342
+ <wp:ping_status>open</wp:ping_status>
343
+ <wp:post_name>this-is-a-blog-post</wp:post_name>
344
+ <wp:status>publish</wp:status>
345
+ <wp:post_parent>0</wp:post_parent>
346
+ <wp:menu_order>0</wp:menu_order>
347
+ <wp:post_type>post</wp:post_type>
348
+ <wp:post_password></wp:post_password>
349
+ <wp:is_sticky>0</wp:is_sticky>
350
+ <category domain="post_tag" nicename="alumni"><![CDATA[alumni]]></category>
351
+ <category domain="post_tag" nicename="event"><![CDATA[event]]></category>
352
+ <category domain="post_tag" nicename="longwood-gardens"><![CDATA[longwood gardens]]></category>
353
+ <category domain="post_tag" nicename="social"><![CDATA[social]]></category>
354
+ <category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
355
+ <wp:postmeta>
356
+ <wp:meta_key>timeline_notification</wp:meta_key>
357
+ <wp:meta_value><![CDATA[1542296515]]></wp:meta_value>
358
+ </wp:postmeta>
359
+ <wp:postmeta>
360
+ <wp:meta_key>_rest_api_published</wp:meta_key>
361
+ <wp:meta_value><![CDATA[1]]></wp:meta_value>
362
+ </wp:postmeta>
363
+ <wp:postmeta>
364
+ <wp:meta_key>_rest_api_client_id</wp:meta_key>
365
+ <wp:meta_value><![CDATA[-1]]></wp:meta_value>
366
+ </wp:postmeta>
367
+ <wp:postmeta>
368
+ <wp:meta_key>_thumbnail_id</wp:meta_key>
369
+ <wp:meta_value><![CDATA[8]]></wp:meta_value>
370
+ </wp:postmeta>
371
+ <wp:postmeta>
372
+ <wp:meta_key>_publicize_job_id</wp:meta_key>
373
+ <wp:meta_value><![CDATA[24293489113]]></wp:meta_value>
374
+ </wp:postmeta>
375
+ </item>
376
+ <item>
377
+ <title>A page - wow</title>
378
+ <link>https://testingwordpressexports.wordpress.com/a-page-wow/</link>
379
+ <pubDate>Thu, 15 Nov 2018 15:52:50 +0000</pubDate>
380
+ <dc:creator>jberesford2018</dc:creator>
381
+ <guid isPermaLink="false">https://testingwordpressexports.wordpress.com/?page_id=11</guid>
382
+ <description></description>
383
+ <content:encoded><![CDATA[<p>This is a page in Wordpress... let's turn it in to a page in Workarea</p>
384
+
385
+ <!-- wp:image {"id":8,"width":740,"height":493} -->
386
+ <figure class="wp-block-image is-resized"><img src="https://testingwordpressexports.files.wordpress.com/2018/11/person-smartphone-office-table.jpeg" alt="" class="wp-image-8" width="740" height="493" /><figcaption>What about an image caption?</figcaption></figure>
387
+ <!-- /wp:image -->
388
+
389
+ <!-- wp:list -->
390
+ <ul><li>One</li><li>Two</li><li>Three things!</li><li>No way...</li></ul>
391
+ <!-- /wp:list -->]]></content:encoded>
392
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
393
+ <wp:post_id>11</wp:post_id>
394
+ <wp:post_date>2018-11-15 15:52:50</wp:post_date>
395
+ <wp:post_date_gmt>2018-11-15 15:52:50</wp:post_date_gmt>
396
+ <wp:comment_status>closed</wp:comment_status>
397
+ <wp:ping_status>closed</wp:ping_status>
398
+ <wp:post_name>a-page-wow</wp:post_name>
399
+ <wp:status>publish</wp:status>
400
+ <wp:post_parent>0</wp:post_parent>
401
+ <wp:menu_order>0</wp:menu_order>
402
+ <wp:post_type>page</wp:post_type>
403
+ <wp:post_password></wp:post_password>
404
+ <wp:is_sticky>0</wp:is_sticky>
405
+ <wp:postmeta>
406
+ <wp:meta_key>_publicize_pending</wp:meta_key>
407
+ <wp:meta_value><![CDATA[1]]></wp:meta_value>
408
+ </wp:postmeta>
409
+ </item>
410
+ <item>
411
+ <title>This is a second blog post</title>
412
+ <link>https://testingwordpressexports.wordpress.com/2018/11/15/this-is-a-second-blog-post/</link>
413
+ <pubDate>Thu, 15 Nov 2018 15:54:19 +0000</pubDate>
414
+ <dc:creator>jberesford2018</dc:creator>
415
+ <guid isPermaLink="false">https://testingwordpressexports.wordpress.com/?p=14</guid>
416
+ <description></description>
417
+ <content:encoded><![CDATA[<!-- wp:paragraph -->
418
+ <p>With a <a href="https://testingwordpressexports.wordpress.com/a-page-wow/">link to a page</a> I wonder if we can re-write the URLs in a smart way?</p>
419
+ <!-- /wp:paragraph -->
420
+
421
+ <!-- wp:paragraph -->
422
+ <p>Keep in mind, pages could link to blogs and blogs could link to pages. Infact anything could link to anything else...</p>
423
+ <!-- /wp:paragraph -->
424
+
425
+ <!-- wp:paragraph -->
426
+ <p>It just started snowing.</p>
427
+ <!-- /wp:paragraph -->]]></content:encoded>
428
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
429
+ <wp:post_id>14</wp:post_id>
430
+ <wp:post_date>2018-11-15 15:54:19</wp:post_date>
431
+ <wp:post_date_gmt>2018-11-15 15:54:19</wp:post_date_gmt>
432
+ <wp:comment_status>open</wp:comment_status>
433
+ <wp:ping_status>open</wp:ping_status>
434
+ <wp:post_name>this-is-a-second-blog-post</wp:post_name>
435
+ <wp:status>publish</wp:status>
436
+ <wp:post_parent>0</wp:post_parent>
437
+ <wp:menu_order>0</wp:menu_order>
438
+ <wp:post_type>post</wp:post_type>
439
+ <wp:post_password></wp:post_password>
440
+ <wp:is_sticky>0</wp:is_sticky>
441
+ <category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
442
+ <wp:postmeta>
443
+ <wp:meta_key>_publicize_job_id</wp:meta_key>
444
+ <wp:meta_value><![CDATA[24293855885]]></wp:meta_value>
445
+ </wp:postmeta>
446
+ <wp:postmeta>
447
+ <wp:meta_key>timeline_notification</wp:meta_key>
448
+ <wp:meta_value><![CDATA[1542297263]]></wp:meta_value>
449
+ </wp:postmeta>
450
+ </item>
451
+ <item>
452
+ <title>This is a post with a relative link</title>
453
+ <link>https://testingwordpressexports.wordpress.com/2018/11/15/this-is-a-post-with-a-relative-link/</link>
454
+ <pubDate>Thu, 15 Nov 2018 15:54:19 +0000</pubDate>
455
+ <dc:creator>jberesford2018</dc:creator>
456
+ <guid isPermaLink="false">https://testingwordpressexports.wordpress.com/?p=15</guid>
457
+ <description></description>
458
+ <content:encoded><![CDATA[<!-- wp:paragraph -->
459
+ <p>With a <a href="/a-page-wow">link to a page</a> I wonder if we can re-write the URLs in a smart way?</p>
460
+ <!-- /wp:paragraph -->
461
+
462
+ <!-- wp:paragraph -->
463
+ <p>Keep in mind, pages could link to blogs and blogs could link to pages. Infact anything could link to anything else...</p>
464
+ <!-- /wp:paragraph -->
465
+
466
+ <!-- wp:paragraph -->
467
+ <p>It just started snowing.</p>
468
+ <!-- /wp:paragraph -->]]></content:encoded>
469
+ <excerpt:encoded><![CDATA[]]></excerpt:encoded>
470
+ <wp:post_id>14</wp:post_id>
471
+ <wp:post_date>2018-11-15 15:54:19</wp:post_date>
472
+ <wp:post_date_gmt>2018-11-15 15:54:19</wp:post_date_gmt>
473
+ <wp:comment_status>open</wp:comment_status>
474
+ <wp:ping_status>open</wp:ping_status>
475
+ <wp:post_name>this-is-a-post-with-a-relative-link</wp:post_name>
476
+ <wp:status>publish</wp:status>
477
+ <wp:post_parent>0</wp:post_parent>
478
+ <wp:menu_order>0</wp:menu_order>
479
+ <wp:post_type>post</wp:post_type>
480
+ <wp:post_password></wp:post_password>
481
+ <wp:is_sticky>0</wp:is_sticky>
482
+ <category domain="category" nicename="uncategorized"><![CDATA[Uncategorized]]></category>
483
+ <wp:postmeta>
484
+ <wp:meta_key>_publicize_job_id</wp:meta_key>
485
+ <wp:meta_value><![CDATA[24293855885]]></wp:meta_value>
486
+ </wp:postmeta>
487
+ <wp:postmeta>
488
+ <wp:meta_key>timeline_notification</wp:meta_key>
489
+ <wp:meta_value><![CDATA[1542297263]]></wp:meta_value>
490
+ </wp:postmeta>
491
+ </item>
492
+ </channel>
493
+ </rss>
@@ -0,0 +1,55 @@
1
+ require 'test_helper'
2
+
3
+ module Workarea
4
+ module Blog
5
+ class AdminIntegrationTest < Workarea::IntegrationTest
6
+ include Admin::IntegrationTest
7
+
8
+ def test_searches_blogs
9
+ create_blog(name: 'Foo Blog')
10
+ get admin.content_blogs_path(format: 'json', q: 'foo')
11
+ results = JSON.parse(response.body)['results']
12
+ assert_equal(1, results.length)
13
+ end
14
+
15
+ def test_responds_to_edit_paths
16
+ blog = create_blog(
17
+ name: 'Test Blog',
18
+ entries: [
19
+ { name: 'Test Entry', author: 'BC' }
20
+ ]
21
+ )
22
+
23
+ get admin.edit_polymorphic_path(blog)
24
+ assert(response.ok?)
25
+
26
+ get admin.edit_polymorphic_path(blog.entries.first)
27
+ assert(response.ok?)
28
+ end
29
+
30
+ def test_has_blogs
31
+ blog = create_blog(
32
+ name: 'Test Blog',
33
+ entries: [
34
+ { name: 'Test Entry', author: 'BC' }
35
+ ]
36
+ )
37
+
38
+ get admin.jump_to_path, params: { q: 'te' }
39
+
40
+ results = JSON.parse(response.body)['results']
41
+ assert_equal(2, results.length)
42
+
43
+ assert_equal('Test Blog', results.first['label'])
44
+ assert_equal('Blogs', results.first['type'])
45
+ assert_equal(admin.content_blog_path(blog), results.first['url'])
46
+
47
+ blog.destroy
48
+
49
+ get admin.jump_to_path, params: { q: 'te' }
50
+ results = JSON.parse(response.body)['results']
51
+ assert_equal(0, results.length)
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,106 @@
1
+ require 'test_helper'
2
+
3
+ module Workarea
4
+ module Blog
5
+ class CreateBlogEntriesIntegrationTest < Workarea::IntegrationTest
6
+ include Admin::IntegrationTest
7
+
8
+ setup :blog
9
+
10
+ def blog
11
+ @blog ||= create_blog(
12
+ name: 'Test Blog',
13
+ entries: [
14
+ { name: 'Entry 1', author: 'Ben Crouse' }
15
+ ]
16
+ )
17
+ end
18
+
19
+ def test_create
20
+ post admin.create_content_blog_entries_path,
21
+ params: {
22
+ blog_entry: {
23
+ blog_id: blog.id,
24
+ name: 'Test blog entry',
25
+ author: 'Jake Beresford',
26
+ summary: 'Test blog entry summary',
27
+ tag_list: 'foo, bar, baz'
28
+ }
29
+ }
30
+
31
+ assert_equal(2, Content::BlogEntry.count)
32
+ entry = Content::BlogEntry.last
33
+
34
+ assert('Test blog entry', entry.name)
35
+ assert('Jake Beresford', entry.author)
36
+ assert('Test blog entry summary', entry.summary)
37
+ assert(%w[foo bar baz], entry.tags)
38
+ end
39
+
40
+ def test_thumbnail_image
41
+ entry = Content::BlogEntry.first
42
+ image = create_asset(
43
+ name: 'Test Asset',
44
+ file: product_image_file
45
+ )
46
+
47
+ post admin.save_thumbnail_image_create_content_blog_entry_path(entry),
48
+ params: {
49
+ id: entry.name,
50
+ blog_entry: {
51
+ thumbnail_image: image.id
52
+ }
53
+ }
54
+
55
+ assert(image.id, entry.thumbnail_image)
56
+ end
57
+
58
+ def test_publish
59
+ entry = Content::BlogEntry.first
60
+ create_release(name: 'Foo Release', publish_at: 1.week.from_now)
61
+ get admin.publish_create_content_blog_entry_path(entry)
62
+
63
+ assert(response.ok?)
64
+ assert_includes(response.body, 'Foo Release')
65
+ end
66
+
67
+ def test_save_publish
68
+ attrs = { name: 'New Entry', author: 'Jake Beresford', active: false }
69
+ entry = create_blog_entry(attrs.merge(blog: blog))
70
+
71
+ post admin.save_publish_create_content_blog_entry_path(entry),
72
+ params: { activate: 'now' }
73
+
74
+ assert(entry.reload.active?)
75
+
76
+ entry.update_attributes(active: false)
77
+
78
+ post admin.save_publish_create_content_blog_entry_path(entry),
79
+ params: { activate: 'new_release', release: { name: '' } }
80
+
81
+ assert(Release.empty?)
82
+ assert(response.ok?)
83
+ refute(response.redirect?)
84
+ refute(entry.reload.active?)
85
+
86
+ post admin.save_publish_create_content_blog_entry_path(entry),
87
+ params: { activate: 'new_release', release: { name: 'Foo' } }
88
+
89
+ refute(entry.reload.active?)
90
+ assert_equal(1, Release.count)
91
+ release = Release.first
92
+ assert_equal('Foo', release.name)
93
+ release.as_current { assert(entry.reload.active?) }
94
+
95
+ release = create_release
96
+ entry.update_attributes!(active: false)
97
+
98
+ post admin.save_publish_create_content_blog_entry_path(entry),
99
+ params: { activate: release.id }
100
+
101
+ refute(entry.reload.active?)
102
+ release.as_current { assert(entry.reload.active?) }
103
+ end
104
+ end
105
+ end
106
+ end