Fix filter spec.

Refactor spec so that it actually checks whether ApplicationService#applications_by actually filters down to a specific jobseeker.
Fix application-filtering spec.

Fix "should only list the jobs to which a given jobseeker has applied" spec, in which the jobseeker was not actually applying to the job.
Add new submission classes.

Add NewSubmission. The name will change to just Submission once the existing class is phased out.

Add WrongJobseekersResumeSubmissionException class.
Add #as_reportable to resumes.

Add #as_reportable to Resume.

Add ::as_reportable to NoResume.
Fulfill filtered applications report spec.

Application#initialize takes a submission.

Add Application#submitted_by?.

Replace ApplicationService#apply_to_job with #apply, with takes a submission and is closer to describing the new usage.

JobApplierRole#apply_to_job uses NewSubmission instead of Submission and #apply instead of #apply_to_job. It also throws a WrongJobseekersResumeSubmissionException instead of returning a failing submission object, based on how reaching such a circumstance would indicate a fundamental error in the design or data.
Move spec in anticipation of refactoring.

Move "Employers should be able to see a listing of the jobs they have posted" spec to spec/text_report_spec.rb in anticipation of making it explicitly text-specific.
More specific class name.

Rename EmployersPostedJobReportGenerator to TextEmployersPostedJobReportGenerator to better reflect its more specific purpose.
Inline helper method.

Inline #generates_with_expected_string_output_given_list helper method for the TextEmployersPostedJobReportGenerator spec in anticipation of making each test different.
Check for new jobs in spec.

Expand "should generate a report that lists the jobs posted by an employer" spec for TextEmployersPostedJobReportGenerator so that it checks against an expanded list of jobs.
Test for empty text report.

Test and confirm that TextEmployersPostedJobReportGenerator generates an empty report for an empty list.
Make negative filter spec more conclusive.

Refactor "should generate a report that lists only the jobs posted by the given employer and not other employers" spec for TextEmployersPostedJobReportGenerator to expect a new output instead of an unmodified one. The original test could have passed even if the report was sending static content.
Actually test report's unposted job filter.

Fix "should generate a report that lists posted jobs and not unposted ones" spec for TextEmployersPostedJobReportGenerator so that it actually tests for unposted jobs (and without excluding new but posted jobs).
Remove fulfilled TODO item.
Move report spec before renaming.

Move JobseekerAndJobsReport spec to spec/text_report_spec.rb in anticipation of renaming and refactoring it to be more specific.

Remove the now spec-less spec/theladders_report_spec.rb.
Add placeholder ApplicantsReport spec, class.
Preliminary ApplicantsReport spec.
Fulfill preliminary ApplicantsReport spec.
Add spec for new applications.

Add spec checking whether ApplicantsReport reports on just-added applications.

Refactor tests to consolidate common code.
Refactor ApplicantsReport spec.

Refactor ApplicantsReport spec so that it expects to only see the specific information that the feature request asks about.

Refactor the spec to expect to be able to avoid inapplicable filtering.
Add ApplicationService#all_applications.

Add ApplicationService#all_applications as a convenience method.