public async Task SalaryFromBadDataIsIgnored() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryFromBadData); Assert.IsNull(salary.MinimumSalary); }
public async Task ExactSalaryInWholePoundsDisplaysOneValueInWholePounds() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryExact); Assert.AreEqual("£23,000 per annum", salary.SalaryRange); }
public async Task ExactSalaryWithPenceHasPenceDisplayed() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryWithPence); Assert.AreEqual("£7,503.60 per annum", salary.SalaryRange); }
public async Task HourlyRateIsNullIfNotFound() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryExact); Assert.IsNull(salary.MinimumHourlyRate); }
public async Task SalaryFromWithPenceIsParsed() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryWithPence); Assert.AreEqual(7503.6, salary.MinimumSalary); Assert.AreEqual(7503.6, salary.MaximumSalary); }
public async Task ExactSalaryIsParsed() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryExact); Assert.AreEqual(23000, salary.MinimumSalary); Assert.AreEqual(23000, salary.MaximumSalary); }
public async Task VoluntaryRoleIsParsed() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryVoluntary); Assert.AreEqual(0, salary.MinimumSalary); Assert.AreEqual(0, salary.MaximumSalary); Assert.AreEqual("Voluntary", salary.SalaryRange); }
public async Task SalaryRangeIsParsed() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryRange); Assert.AreEqual(15000, salary.MinimumSalary); Assert.AreEqual(19999, salary.MaximumSalary); Assert.AreEqual("£15,000 to £19,999 per annum", salary.SalaryRange); }
public async Task DisplayTextOnlyIsParsed() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryTextOnly); Assert.IsNull(salary.MinimumSalary); Assert.IsNull(salary.MaximumSalary); Assert.AreEqual("Competitive", salary.SalaryRange); }
public async Task SalaryFromIsIgnoredIfLowerThanSalaryTo() { // Note: this happens if the "Salary to" field is left blank - the API sets it to 0 var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryToZero); Assert.AreEqual(23000, salary.MinimumSalary); Assert.AreEqual(0, salary.MaximumSalary); Assert.AreEqual("£23,000 per annum", salary.SalaryRange); }
public async Task HourlyRateExactIsParsed() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); lookupValuesProvider.Setup(x => x.ReadSalaryFrequencies()).Returns(Task.FromResult(new List <JobsLookupValue>() { new JobsLookupValue() { LookupValueId = "2", Text = "Hourly" } } as IList <JobsLookupValue>)); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryHourlyExact); Assert.IsNull(salary.MinimumSalary); Assert.IsNull(salary.MaximumSalary); Assert.AreEqual(19.22, salary.MinimumHourlyRate); }
public async Task DisplayTextIsParsedBeforePayGrade() { var lookupValuesProvider = new Mock <IJobsLookupValuesProvider>(); lookupValuesProvider.Setup(x => x.ReadPayGrades()).Returns(Task.FromResult(new List <JobsLookupValue>() { new JobsLookupValue() { FieldId = "15", LookupValueId = "36", Text = "Single Status" } } as IList <JobsLookupValue>)); var parser = new TribePadSalaryParser(lookupValuesProvider.Object); var salary = await parser.ParseSalary(Properties.Resources.TribePadSalaryTextOnly); Assert.IsNull(salary.MinimumSalary); Assert.IsNull(salary.MaximumSalary); Assert.AreEqual("Competitive", salary.SalaryRange); }