Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
        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);
        }
Example #11
0
        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);
        }
Example #12
0
        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);
        }