Esempio n. 1
0
        public void CreateDraftSubmissionFromViewModel_Converts_View_Model_to_Return()
        {
            Organisation mockedOrganisation = OrganisationHelper.GetPublicOrganisation();
            var          testModel          = new ReturnViewModel
            {
                AccountingDate              = new DateTime(1999, 4, 5),
                CompanyLinkToGPGInfo        = "https://CompanyLinkToGPGInfo",
                DiffMeanBonusPercent        = 100,
                DiffMeanHourlyPayPercent    = 99,
                DiffMedianBonusPercent      = 98,
                DiffMedianHourlyPercent     = 97,
                FemaleLowerPayBand          = 96,
                FemaleMedianBonusPayPercent = 95,
                FemaleMiddlePayBand         = 94,
                FemaleUpperPayBand          = 93,
                FemaleUpperQuartilePayBand  = 92,
                FirstName                 = "Test",
                LastName                  = "User",
                JobTitle                  = "QA",
                MaleLowerPayBand          = 91,
                MaleMedianBonusPayPercent = 90,
                MaleUpperQuartilePayBand  = 89,
                MaleMiddlePayBand         = 88,
                MaleUpperPayBand          = 87,
                OrganisationId            = mockedOrganisation.OrganisationId,
                OrganisationSize          = OrganisationSizes.Employees250To499,
                LateReason                = "A LateReason"
            };

            // Mocks
            var testService = new SubmissionService(
                mockDataRepo.Object,
                mockScopeBL.Object,
                _mockDraftFileBL.Object);

            mockDataRepo.Setup(x => x.Get <Organisation>(It.IsAny <long>())).Returns(mockedOrganisation);

            // Assert
            Return testReturn = testService.CreateDraftSubmissionFromViewModel(testModel);

            var testOrgSizeRange = testModel.OrganisationSize.GetAttribute <RangeAttribute>();

            Expect(testReturn.AccountingDate == testModel.AccountingDate);
            Expect(testReturn.CompanyLinkToGPGInfo == testModel.CompanyLinkToGPGInfo);
            Expect(testReturn.DiffMeanBonusPercent == testModel.DiffMeanBonusPercent.Value);
            Expect(testReturn.DiffMeanHourlyPayPercent == testModel.DiffMeanHourlyPayPercent.Value);
            Expect(testReturn.DiffMedianBonusPercent == testModel.DiffMedianBonusPercent.Value);
            Expect(testReturn.DiffMedianHourlyPercent == testModel.DiffMedianHourlyPercent.Value);
            Expect(testReturn.FemaleLowerPayBand == testModel.FemaleLowerPayBand.Value);
            Expect(testReturn.FemaleMedianBonusPayPercent == testModel.FemaleMedianBonusPayPercent.Value);
            Expect(testReturn.FemaleMiddlePayBand == testModel.FemaleMiddlePayBand.Value);
            Expect(testReturn.FemaleUpperPayBand == testModel.FemaleUpperPayBand.Value);
            Expect(testReturn.FemaleUpperQuartilePayBand == testModel.FemaleUpperQuartilePayBand.Value);
            Expect(testReturn.FirstName == testModel.FirstName);
            Expect(testReturn.LastName == testModel.LastName);
            Expect(testReturn.JobTitle == testModel.JobTitle);
            Expect(testReturn.MaleLowerPayBand == testModel.MaleLowerPayBand.Value);
            Expect(testReturn.MaleMedianBonusPayPercent == testModel.MaleMedianBonusPayPercent.Value);
            Expect(testReturn.MaleUpperQuartilePayBand == testModel.MaleUpperQuartilePayBand.Value);
            Expect(testReturn.MaleMiddlePayBand == testModel.MaleMiddlePayBand.Value);
            Expect(testReturn.MaleUpperPayBand == testModel.MaleUpperPayBand.Value);
            Expect(testReturn.Status == ReturnStatuses.Draft);
            Expect(testReturn.OrganisationId == testModel.OrganisationId);
            Expect(testReturn.MinEmployees == (int)testOrgSizeRange.Minimum);
            Expect(testReturn.MaxEmployees == (int)testOrgSizeRange.Maximum);
            Expect(testReturn.LateReason == testModel.LateReason);
        }