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); }