diff --git a/DOL.WHD.Section14c.Test/Business/ResponseServiceTests.cs b/DOL.WHD.Section14c.Test/Business/ResponseServiceTests.cs index 0fd259be..e67ad889 100644 --- a/DOL.WHD.Section14c.Test/Business/ResponseServiceTests.cs +++ b/DOL.WHD.Section14c.Test/Business/ResponseServiceTests.cs @@ -45,5 +45,26 @@ public void FiltersOnlyActive() // Assert Assert.IsFalse(responses.Any(r => !r.IsActive)); } + + [TestMethod] + public void ReturnsBothActiveAndInactive() + { + // Arrange + var service = new ResponseService(_responseRepositoryMock); + + // Act + var responses = service.GetResponses(onlyActive: false); + + // Assert + Assert.IsTrue(responses.Any(r => !r.IsActive)); + } + + [TestMethod] + public void Dispose() + { + var service = new ResponseService(_responseRepositoryMock); + service.Dispose(); + Assert.IsTrue(((ResponseRepositoryMock)_responseRepositoryMock).Disposed); + } } } diff --git a/DOL.WHD.Section14c.Test/Business/Validators/ApplicationSubmissionValidatorTests.cs b/DOL.WHD.Section14c.Test/Business/Validators/ApplicationSubmissionValidatorTests.cs index 338ab598..2778eee5 100644 --- a/DOL.WHD.Section14c.Test/Business/Validators/ApplicationSubmissionValidatorTests.cs +++ b/DOL.WHD.Section14c.Test/Business/Validators/ApplicationSubmissionValidatorTests.cs @@ -110,6 +110,8 @@ public void Should_Require_HourlyWageInfo() _applicationSubmissionValidator.ShouldNotHaveValidationErrorFor(x => x.HourlyWageInfo, model); model = new ApplicationSubmission {PayTypeId = 21, HourlyWageInfo = null}; _applicationSubmissionValidator.ShouldHaveValidationErrorFor(x => x.HourlyWageInfo, model); + model = new ApplicationSubmission { PayTypeId = 23, HourlyWageInfo = null }; + _applicationSubmissionValidator.ShouldHaveValidationErrorFor(x => x.HourlyWageInfo, model); } [TestMethod] @@ -119,6 +121,8 @@ public void Should_Require_PieceRateWageInfo() _applicationSubmissionValidator.ShouldNotHaveValidationErrorFor(x => x.PieceRateWageInfo, model); model = new ApplicationSubmission { PayTypeId = 22, PieceRateWageInfo = null }; _applicationSubmissionValidator.ShouldHaveValidationErrorFor(x => x.PieceRateWageInfo, model); + model = new ApplicationSubmission { PayTypeId = 23, PieceRateWageInfo = null }; + _applicationSubmissionValidator.ShouldHaveValidationErrorFor(x => x.PieceRateWageInfo, model); } [TestMethod] diff --git a/DOL.WHD.Section14c.Test/DOL.WHD.Section14c.Test.csproj b/DOL.WHD.Section14c.Test/DOL.WHD.Section14c.Test.csproj index 96df23e3..0d6d9191 100644 --- a/DOL.WHD.Section14c.Test/DOL.WHD.Section14c.Test.csproj +++ b/DOL.WHD.Section14c.Test/DOL.WHD.Section14c.Test.csproj @@ -114,9 +114,19 @@ + + + + + + + + + + diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Identity/ApplicationUserTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Identity/ApplicationUserTests.cs new file mode 100644 index 00000000..d5d0a465 --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Identity/ApplicationUserTests.cs @@ -0,0 +1,94 @@ +using System.Collections.Generic; +using System.Linq; +using System.Security.Claims; +using System.Threading.Tasks; +using DOL.WHD.Section14c.Domain.Models; +using DOL.WHD.Section14c.Domain.Models.Identity; +using Microsoft.AspNet.Identity; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Moq; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Identity +{ + [TestClass] + public class ApplicationUserTests + { + [TestMethod] + public async Task GenerateUserIdentityAsync_AddsEINClaim() + { + // Arrange + var ein = "30-1234567"; + var identity = new ClaimsIdentity(); + var userStoreMock = new Mock>(); + var userManagerMock = new Mock>(userStoreMock.Object); + userManagerMock.Setup(x => x.CreateIdentityAsync(It.IsAny(), It.IsAny())).ReturnsAsync(identity); + + var roleStoreMock = new Mock>(); + var roleManagerMock = new Mock>(roleStoreMock.Object); + + var user = new ApplicationUser(); + user.Organizations = new List + { + new OrganizationMembership { EIN = ein, IsAdmin = true} + }; + + // Act + var result = await user.GenerateUserIdentityAsync(userManagerMock.Object, roleManagerMock.Object, null); + + Assert.AreEqual(ein, result.Claims.Single(x => x.Type == "EIN").Value); + } + + [TestMethod] + public async Task GenerateUserIdentityAsync_AddsSubmitApplicationClaim() + { + // Arrange + var identity = new ClaimsIdentity(); + var userStoreMock = new Mock>(); + var userManagerMock = new Mock>(userStoreMock.Object); + userManagerMock.Setup(x => x.CreateIdentityAsync(It.IsAny(), It.IsAny())).ReturnsAsync(identity); + + var roleStoreMock = new Mock>(); + var roleManagerMock = new Mock>(roleStoreMock.Object); + + var user = new ApplicationUser(); + + // Act + var result = await user.GenerateUserIdentityAsync(userManagerMock.Object, roleManagerMock.Object, null); + + Assert.IsTrue(result.HasClaim(x => x.Type == ApplicationClaimTypes.SubmitApplication)); + } + + [TestMethod] + public async Task GenerateUserIdentityAsync_AddsRoleBasedClaim() + { + // Arrange + var identity = new ClaimsIdentity(); + var userStoreMock = new Mock>(); + var userManagerMock = new Mock>(userStoreMock.Object); + userManagerMock.Setup(x => x.CreateIdentityAsync(It.IsAny(), It.IsAny())).ReturnsAsync(identity); + + var roles = new List + { + new ApplicationRole + { + Id = Roles.SystemAdministrator, + RoleFeatures = new List + { + new RoleFeature { Feature = new Feature { Key = ApplicationClaimTypes.ModifyAccount}} + } + } + }; + var roleStoreMock = new Mock>(); + var roleManagerMock = new Mock>(roleStoreMock.Object); + roleManagerMock.Setup(x => x.Roles).Returns(roles.AsQueryable()); + + var user = new ApplicationUser(); + user.Roles.Add(new ApplicationUserRole { RoleId = Roles.SystemAdministrator}); + + // Act + var result = await user.GenerateUserIdentityAsync(userManagerMock.Object, roleManagerMock.Object, null); + + Assert.IsTrue(result.HasClaim(x => x.Type == ApplicationClaimTypes.ModifyAccount)); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/ApplicationSubmissionTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/ApplicationSubmissionTests.cs new file mode 100644 index 00000000..b6a89335 --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/ApplicationSubmissionTests.cs @@ -0,0 +1,90 @@ +using System.Collections.Generic; +using System.Linq; +using DOL.WHD.Section14c.Domain.Models.Submission; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Submission +{ + [TestClass] + public class ApplicationSubmissionTests + { + [TestMethod] + public void ApplicationSubmission_PublicProperties() + { + //Arrange + var ein = "30-1234567"; + var applicationTypeId = 1; + var applicationType = new Response {Id = applicationTypeId}; + var hasPreviousApplication = true; + var hasPreviousCertificate = true; + var certificateNumber = "xxxxxxx"; + var establishmentTypeId = new List {7, 8, 9}; + var contactName = "Test Name"; + var contactPhone = "123-456-7890"; + var contactFax = "123-456-7890"; + var contactEmail = "foo@bar.com"; + var employer = new EmployerInfo(); + var payTypeId = 21; + var payType = new Response {Id = payTypeId}; + var hourlyWageInfo = new HourlyWageInfo(); + var pieceRateWageInfo = new PieceRateWageInfo(); + var totalNumWorkSites = 5; + var workSites = new List(); + var wioa = new WIOA(); + + //Act + var model = new ApplicationSubmission + { + EIN = ein, + ApplicationTypeId = applicationTypeId, + ApplicationType = applicationType, + HasPreviousApplication = hasPreviousApplication, + HasPreviousCertificate = hasPreviousCertificate, + CertificateNumber = certificateNumber, + EstablishmentTypeId = establishmentTypeId, + ContactName = contactName, + ContactPhone = contactPhone, + ContactFax = contactFax, + ContactEmail = contactEmail, + Employer = employer, + PayTypeId = payTypeId, + PayType = payType, + HourlyWageInfo = hourlyWageInfo, + PieceRateWageInfo = pieceRateWageInfo, + TotalNumWorkSites = totalNumWorkSites, + WorkSites = workSites, + WIOA = wioa + }; + + Assert.AreEqual(ein, model.EIN); + Assert.AreEqual(applicationTypeId, model.ApplicationTypeId); + Assert.AreEqual(applicationType, model.ApplicationType); + Assert.AreEqual(hasPreviousApplication, model.HasPreviousApplication); + Assert.AreEqual(hasPreviousCertificate, model.HasPreviousCertificate); + Assert.AreEqual(certificateNumber, model.CertificateNumber); + Assert.AreEqual(establishmentTypeId[0], model.EstablishmentType.ElementAt(0).EstablishmentTypeId); + Assert.AreEqual(establishmentTypeId[1], model.EstablishmentType.ElementAt(1).EstablishmentTypeId); + Assert.AreEqual(establishmentTypeId[2], model.EstablishmentType.ElementAt(2).EstablishmentTypeId); + Assert.AreEqual(contactName, model.ContactName); + Assert.AreEqual(contactPhone, model.ContactPhone); + Assert.AreEqual(contactFax, model.ContactFax); + Assert.AreEqual(contactEmail, model.ContactEmail); + Assert.AreEqual(employer, model.Employer); + Assert.AreEqual(payTypeId, model.PayTypeId); + Assert.AreEqual(payType, model.PayType); + Assert.AreEqual(hourlyWageInfo, model.HourlyWageInfo); + Assert.AreEqual(pieceRateWageInfo, model.PieceRateWageInfo); + Assert.AreEqual(totalNumWorkSites, model.TotalNumWorkSites); + Assert.AreEqual(workSites, model.WorkSites); + Assert.AreEqual(wioa, model.WIOA); + } + + [TestMethod] + public void ApplicationSubmission_Handles_Null_EstablishmentId() + { + // Arrange + var model = new ApplicationSubmission { EstablishmentTypeId = null}; + Assert.IsNull(model.EstablishmentType); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/EmployeeTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/EmployeeTests.cs new file mode 100644 index 00000000..748f2a66 --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/EmployeeTests.cs @@ -0,0 +1,58 @@ +using DOL.WHD.Section14c.Domain.Models.Submission; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Submission +{ + [TestClass] + public class EmployeeTests + { + [TestMethod] + public void Employee_PublicProperties() + { + var name = "Employee Name"; + var primaryDisabilityId = 39; + var primaryDisability = new Response {Id = primaryDisabilityId}; + var primaryDisabilityOther = "primaryDisabilityOther"; + var workType = "workType"; + var numJobs = 3; + var avgWeeklyHours = 41.5; + var avgHourlyEarnings = 3.55; + var prevailingWage = 5.05; + var productivityMeasure = 500.55; + var commensurateWageRate = "commensurateWageRate"; + var totalHours = 500118.55; + var workAtOtherSite = true; + + var model = new Employee + { + Name = name, + PrimaryDisabilityId = primaryDisabilityId, + PrimaryDisability = primaryDisability, + PrimaryDisabilityOther = primaryDisabilityOther, + WorkType = workType, + NumJobs = numJobs, + AvgWeeklyHours = avgWeeklyHours, + AvgHourlyEarnings = avgHourlyEarnings, + PrevailingWage = prevailingWage, + ProductivityMeasure = productivityMeasure, + CommensurateWageRate = commensurateWageRate, + TotalHours = totalHours, + WorkAtOtherSite = workAtOtherSite + }; + + Assert.AreEqual(name, model.Name); + Assert.AreEqual(primaryDisabilityId, model.PrimaryDisabilityId); + Assert.AreEqual(primaryDisability, model.PrimaryDisability); + Assert.AreEqual(primaryDisabilityOther, model.PrimaryDisabilityOther); + Assert.AreEqual(workType, model.WorkType); + Assert.AreEqual(numJobs, model.NumJobs); + Assert.AreEqual(avgWeeklyHours, model.AvgWeeklyHours); + Assert.AreEqual(avgHourlyEarnings, model.AvgHourlyEarnings); + Assert.AreEqual(prevailingWage, model.PrevailingWage); + Assert.AreEqual(productivityMeasure, model.ProductivityMeasure); + Assert.AreEqual(commensurateWageRate, model.CommensurateWageRate); + Assert.AreEqual(totalHours, model.TotalHours); + Assert.AreEqual(workAtOtherSite, model.WorkAtOtherSite); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/EmployerInfoProvidingFacilitiesDeductionTypeTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/EmployerInfoProvidingFacilitiesDeductionTypeTests.cs new file mode 100644 index 00000000..1d57bdd9 --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/EmployerInfoProvidingFacilitiesDeductionTypeTests.cs @@ -0,0 +1,32 @@ +using System; +using DOL.WHD.Section14c.Domain.Models.Submission; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Submission +{ + [TestClass] + public class EmployerInfoProvidingFacilitiesDeductionTypeTests + { + [TestMethod] + public void EmployerInfoProvidingFacilitiesDeductionType_PublicProperties() + { + var employerInfoId = Guid.NewGuid(); + var employerInfo = new EmployerInfo {Id = employerInfoId}; + var providingFacilitiesDeductionTypeId = 30; + var providingFacilitiesDeductionType = new Response {Id = providingFacilitiesDeductionTypeId}; + + var model = new EmployerInfoProvidingFacilitiesDeductionType + { + EmployerInfoId = employerInfoId, + EmployerInfo = employerInfo, + ProvidingFacilitiesDeductionTypeId = providingFacilitiesDeductionTypeId, + ProvidingFacilitiesDeductionType = providingFacilitiesDeductionType + }; + + Assert.AreEqual(employerInfoId, model.EmployerInfoId); + Assert.AreEqual(employerInfo, model.EmployerInfo); + Assert.AreEqual(providingFacilitiesDeductionTypeId, model.ProvidingFacilitiesDeductionTypeId); + Assert.AreEqual(providingFacilitiesDeductionType, model.ProvidingFacilitiesDeductionType); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/EmployerInfoTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/EmployerInfoTests.cs new file mode 100644 index 00000000..1634bf5c --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/EmployerInfoTests.cs @@ -0,0 +1,123 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using DOL.WHD.Section14c.Domain.Models; +using DOL.WHD.Section14c.Domain.Models.Submission; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Submission +{ + [TestClass] + public class EmployerInfoTests + { + [TestMethod] + public void EmployerInfo_PublicProperties() + { + var legalName = "Employer Legal Name"; + var hasTradeName = true; + var tradeName = "Employer Trade Name"; + var legalNameHasChanged = true; + var priorLegalName = "Prior Legal Name"; + var physicalAddress = new Address(); + var hasParentOrg = true; + var parentLegalName = "Parent Legal Name"; + var parentTradeName = "Parent Trade Name"; + var parentAddress = new Address(); + var sendMailToParent = true; + var employerStatusId = 25; + var employerStatus = new Response {Id = employerStatusId}; + var employerStatusOther = "Employer Status Other"; + var isEducationalAgency = true; + var fiscalQuarterEndDate = DateTime.Now; + var numSubminimalWageWorkers = new WorkerCountInfo(); + var pca = true; + var scaId = 41; + var sca = new Response {Id = scaId}; + var scaCount = 5; + var scaAttachmentId = Guid.NewGuid(); + var scaAttaachment = new Attachment {Id = scaAttachmentId}; + var eo13658Id = 50; + var eo13658 = new Response {Id = eo13658Id}; + var representativePayee = true; + var takeCreditForCosts = true; + var providingFacilitiesDeductionTypeId = new List {15, 16, 17}; + var providingFacilitiesDeductionTypeOther = "providingFacilitiesDeductionTypeOther"; + var temporaryAuthority = true; + + var model = new EmployerInfo + { + LegalName = legalName, + HasTradeName = hasTradeName, + TradeName = tradeName, + LegalNameHasChanged = legalNameHasChanged, + PriorLegalName = priorLegalName, + PhysicalAddress = physicalAddress, + HasParentOrg = hasParentOrg, + ParentLegalName = parentLegalName, + ParentTradeName = parentTradeName, + ParentAddress = parentAddress, + SendMailToParent = sendMailToParent, + EmployerStatusId = employerStatusId, + EmployerStatus = employerStatus, + EmployerStatusOther = employerStatusOther, + IsEducationalAgency = isEducationalAgency, + FiscalQuarterEndDate = fiscalQuarterEndDate, + NumSubminimalWageWorkers = numSubminimalWageWorkers, + PCA = pca, + SCAId = scaId, + SCA = sca, + SCACount = scaCount, + SCAAttachmentId = scaAttachmentId, + SCAAttachment = scaAttaachment, + EO13658Id = eo13658Id, + EO13658 = eo13658, + RepresentativePayee = representativePayee, + TakeCreditForCosts = takeCreditForCosts, + ProvidingFacilitiesDeductionTypeId = providingFacilitiesDeductionTypeId, + ProvidingFacilitiesDeductionTypeOther = providingFacilitiesDeductionTypeOther, + TemporaryAuthority = temporaryAuthority + }; + + Assert.AreEqual(legalName, model.LegalName); + Assert.AreEqual(hasTradeName, model.HasTradeName); + Assert.AreEqual(tradeName, model.TradeName); + Assert.AreEqual(legalNameHasChanged, model.LegalNameHasChanged); + Assert.AreEqual(priorLegalName, model.PriorLegalName); + Assert.AreEqual(physicalAddress, model.PhysicalAddress); + Assert.AreEqual(hasParentOrg, model.HasParentOrg); + Assert.AreEqual(parentLegalName, model.ParentLegalName); + Assert.AreEqual(parentTradeName, model.ParentTradeName); + Assert.AreEqual(parentAddress, model.ParentAddress); + Assert.AreEqual(sendMailToParent, model.SendMailToParent); + Assert.AreEqual(employerStatusId, model.EmployerStatusId); + Assert.AreEqual(employerStatus, model.EmployerStatus); + Assert.AreEqual(employerStatusOther, model.EmployerStatusOther); + Assert.AreEqual(isEducationalAgency, model.IsEducationalAgency); + Assert.AreEqual(fiscalQuarterEndDate, model.FiscalQuarterEndDate); + Assert.AreEqual(numSubminimalWageWorkers, model.NumSubminimalWageWorkers); + Assert.AreEqual(pca, model.PCA); + Assert.AreEqual(scaId, model.SCAId); + Assert.AreEqual(sca, model.SCA); + Assert.AreEqual(scaCount, model.SCACount); + Assert.AreEqual(scaAttachmentId, model.SCAAttachmentId); + Assert.AreEqual(scaAttaachment, model.SCAAttachment); + Assert.AreEqual(eo13658Id, model.EO13658Id); + Assert.AreEqual(eo13658, model.EO13658); + Assert.AreEqual(representativePayee, model.RepresentativePayee); + Assert.AreEqual(takeCreditForCosts, model.TakeCreditForCosts); + Assert.AreEqual(providingFacilitiesDeductionTypeId[0], model.ProvidingFacilitiesDeductionType.ElementAt(0).ProvidingFacilitiesDeductionTypeId); + Assert.AreEqual(providingFacilitiesDeductionTypeId[1], model.ProvidingFacilitiesDeductionType.ElementAt(1).ProvidingFacilitiesDeductionTypeId); + Assert.AreEqual(providingFacilitiesDeductionTypeId[2], model.ProvidingFacilitiesDeductionType.ElementAt(2).ProvidingFacilitiesDeductionTypeId); + Assert.AreEqual(providingFacilitiesDeductionTypeOther, model.ProvidingFacilitiesDeductionTypeOther); + Assert.AreEqual(temporaryAuthority, model.TemporaryAuthority); + } + + [TestMethod] + public void EmployerInfo_Handles_Null_ProvidingFacilitiesDeductionTypeId() + { + // Arrange + var model = new EmployerInfo { ProvidingFacilitiesDeductionTypeId = null }; + Assert.IsNull(model.ProvidingFacilitiesDeductionType); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/HourlyWageInfoTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/HourlyWageInfoTests.cs new file mode 100644 index 00000000..8205143d --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/HourlyWageInfoTests.cs @@ -0,0 +1,56 @@ +using System; +using DOL.WHD.Section14c.Domain.Models.Submission; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Submission +{ + [TestClass] + public class HourlyWageInfoTests + { + [TestMethod] + public void HourlyWageInfo_PublicProperties() + { + var workMeasurementFrequency = "workMeasurementFrequency"; + var numWorkers = 5; + var jobName = "Job Name"; + var jobDescription = "Job Description"; + var prevailingWageMethodId = 35; + var prevailingWageMethod = new Response {Id = prevailingWageMethodId}; + var mostRecentPrevailingWageSurvey = new PrevailingWageSurveyInfo(); + var alternateWageData = new AlternateWageData(); + var scaWageDeterminationId = Guid.NewGuid(); + var scaWageDetermination = new Attachment {Id = scaWageDeterminationId}; + var attachmentId = Guid.NewGuid(); + var attachment = new Attachment {Id = attachmentId}; + + var model = new HourlyWageInfo + { + WorkMeasurementFrequency = workMeasurementFrequency, + NumWorkers = numWorkers, + JobName = jobName, + JobDescription = jobDescription, + PrevailingWageMethodId = prevailingWageMethodId, + PrevailingWageMethod = prevailingWageMethod, + MostRecentPrevailingWageSurvey = mostRecentPrevailingWageSurvey, + AlternateWageData = alternateWageData, + SCAWageDeterminationId = scaWageDeterminationId, + SCAWageDetermination = scaWageDetermination, + AttachmentId = attachmentId, + Attachment = attachment + }; + + Assert.AreEqual(workMeasurementFrequency, model.WorkMeasurementFrequency); + Assert.AreEqual(numWorkers, model.NumWorkers); + Assert.AreEqual(jobName, model.JobName); + Assert.AreEqual(jobDescription, model.JobDescription); + Assert.AreEqual(prevailingWageMethodId, model.PrevailingWageMethodId); + Assert.AreEqual(prevailingWageMethod, model.PrevailingWageMethod); + Assert.AreEqual(mostRecentPrevailingWageSurvey, model.MostRecentPrevailingWageSurvey); + Assert.AreEqual(alternateWageData, model.AlternateWageData); + Assert.AreEqual(scaWageDeterminationId, model.SCAWageDeterminationId); + Assert.AreEqual(scaWageDetermination, model.SCAWageDetermination); + Assert.AreEqual(attachmentId, model.AttachmentId); + Assert.AreEqual(attachment, model.Attachment); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/PieceRateWageInfoTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/PieceRateWageInfoTests.cs new file mode 100644 index 00000000..e6374564 --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/PieceRateWageInfoTests.cs @@ -0,0 +1,65 @@ +using System; +using DOL.WHD.Section14c.Domain.Models.Submission; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Submission +{ + [TestClass] + public class PieceRateWageInfoTests + { + [TestMethod] + public void PieceRateWageInfo_PublicProperties() + { + var pieceRateWorkDescription = "pieceRateWorkDescription"; + var prevailingWageDeterminedForJob = 1.5; + var standardProductivity = 7.5; + var pieceRatePaidToWorkers = 14.55; + var numWorkers = 5; + var jobName = "Job Name"; + var jobDescription = "Job Description"; + var prevailingWageMethodId = 35; + var prevailingWageMethod = new Response { Id = prevailingWageMethodId }; + var mostRecentPrevailingWageSurvey = new PrevailingWageSurveyInfo(); + var alternateWageData = new AlternateWageData(); + var scaWageDeterminationId = Guid.NewGuid(); + var scaWageDetermination = new Attachment { Id = scaWageDeterminationId }; + var attachmentId = Guid.NewGuid(); + var attachment = new Attachment { Id = attachmentId }; + + var model = new PieceRateWageInfo + { + PieceRateWorkDescription = pieceRateWorkDescription, + PrevailingWageDeterminedForJob = prevailingWageDeterminedForJob, + StandardProductivity = standardProductivity, + PieceRatePaidToWorkers = pieceRatePaidToWorkers, + NumWorkers = numWorkers, + JobName = jobName, + JobDescription = jobDescription, + PrevailingWageMethodId = prevailingWageMethodId, + PrevailingWageMethod = prevailingWageMethod, + MostRecentPrevailingWageSurvey = mostRecentPrevailingWageSurvey, + AlternateWageData = alternateWageData, + SCAWageDeterminationId = scaWageDeterminationId, + SCAWageDetermination = scaWageDetermination, + AttachmentId = attachmentId, + Attachment = attachment + }; + + Assert.AreEqual(pieceRateWorkDescription, model.PieceRateWorkDescription); + Assert.AreEqual(prevailingWageDeterminedForJob, model.PrevailingWageDeterminedForJob); + Assert.AreEqual(standardProductivity, model.StandardProductivity); + Assert.AreEqual(pieceRatePaidToWorkers, model.PieceRatePaidToWorkers); + Assert.AreEqual(numWorkers, model.NumWorkers); + Assert.AreEqual(jobName, model.JobName); + Assert.AreEqual(jobDescription, model.JobDescription); + Assert.AreEqual(prevailingWageMethodId, model.PrevailingWageMethodId); + Assert.AreEqual(prevailingWageMethod, model.PrevailingWageMethod); + Assert.AreEqual(mostRecentPrevailingWageSurvey, model.MostRecentPrevailingWageSurvey); + Assert.AreEqual(alternateWageData, model.AlternateWageData); + Assert.AreEqual(scaWageDeterminationId, model.SCAWageDeterminationId); + Assert.AreEqual(scaWageDetermination, model.SCAWageDetermination); + Assert.AreEqual(attachmentId, model.AttachmentId); + Assert.AreEqual(attachment, model.Attachment); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/PrevailingWageSurveyInfoTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/PrevailingWageSurveyInfoTests.cs new file mode 100644 index 00000000..28a90c81 --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/PrevailingWageSurveyInfoTests.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using DOL.WHD.Section14c.Domain.Models.Submission; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Submission +{ + [TestClass] + public class PrevailingWageSurveyInfoTests + { + [TestMethod] + public void PrevailingWageSurveyInfo_PublicProperties() + { + var prevailingWageDetermined = 50.50; + var sourceEmployers = new List(); + var attachmentId = Guid.NewGuid(); + var attachment = new Attachment {Id = attachmentId}; + + var model = new PrevailingWageSurveyInfo + { + PrevailingWageDetermined = prevailingWageDetermined, + SourceEmployers = sourceEmployers, + AttachmentId = attachmentId, + Attachment = attachment + }; + + Assert.AreEqual(prevailingWageDetermined, model.PrevailingWageDetermined); + Assert.AreEqual(sourceEmployers, model.SourceEmployers); + Assert.AreEqual(attachmentId, model.AttachmentId); + Assert.AreEqual(attachment, model.Attachment); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/ResponseTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/ResponseTests.cs index aea81efb..d11ce83a 100644 --- a/DOL.WHD.Section14c.Test/Domain/Models/Submission/ResponseTests.cs +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/ResponseTests.cs @@ -14,6 +14,7 @@ public void Response_PublicProperties() var questionKey = "EmployerStatus"; var display = "Private, For Profit"; var subDisplay = "Some explanatory text"; + var otherValueKey = "Other Value Key"; var isActive = true; // Act @@ -23,6 +24,7 @@ public void Response_PublicProperties() QuestionKey = questionKey, Display = display, SubDisplay = subDisplay, + OtherValueKey = otherValueKey, IsActive = isActive }; @@ -31,6 +33,7 @@ public void Response_PublicProperties() Assert.AreEqual(questionKey, model.QuestionKey); Assert.AreEqual(display, model.Display); Assert.AreEqual(subDisplay, model.SubDisplay); + Assert.AreEqual(otherValueKey, model.OtherValueKey); Assert.AreEqual(isActive, model.IsActive); } } diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/WIOAWorkerTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/WIOAWorkerTests.cs new file mode 100644 index 00000000..05dda32d --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/WIOAWorkerTests.cs @@ -0,0 +1,28 @@ +using DOL.WHD.Section14c.Domain.Models.Submission; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Submission +{ + [TestClass] + public class WIOAWorkerTests + { + [TestMethod] + public void WIOAWorker_PublicProperties() + { + var fullName = "Full Worker Name"; + var wioaWorkerVerifiedId = 55; + var wioaWorkerVerified = new Response {Id = wioaWorkerVerifiedId}; + + var model = new WIOAWorker + { + FullName = fullName, + WIOAWorkerVerifiedId = wioaWorkerVerifiedId, + WIOAWorkerVerified = wioaWorkerVerified + }; + + Assert.AreEqual(fullName, model.FullName); + Assert.AreEqual(wioaWorkerVerifiedId, model.WIOAWorkerVerifiedId); + Assert.AreEqual(wioaWorkerVerified, model.WIOAWorkerVerified); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/Models/Submission/WorkSiteTests.cs b/DOL.WHD.Section14c.Test/Domain/Models/Submission/WorkSiteTests.cs new file mode 100644 index 00000000..76fb0921 --- /dev/null +++ b/DOL.WHD.Section14c.Test/Domain/Models/Submission/WorkSiteTests.cs @@ -0,0 +1,45 @@ +using System.Collections.Generic; +using DOL.WHD.Section14c.Domain.Models; +using DOL.WHD.Section14c.Domain.Models.Submission; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace DOL.WHD.Section14c.Test.Domain.Models.Submission +{ + [TestClass] + public class WorkSiteTests + { + [TestMethod] + public void WorkSite_PublicProperties() + { + var workSiteTypeId = 36; + var workSiteType = new Response {Id = workSiteTypeId}; + var name = "Worksite Name"; + var address = new Address(); + var sca = true; + var federalContractWorkPerformed = true; + var numEmployees = 5; + var employees = new List(); + + var model = new WorkSite + { + WorkSiteTypeId = workSiteTypeId, + WorkSiteType = workSiteType, + Name = name, + Address = address, + SCA = sca, + FederalContractWorkPerformed = federalContractWorkPerformed, + NumEmployees = numEmployees, + Employees = employees + }; + + Assert.AreEqual(workSiteTypeId, model.WorkSiteTypeId); + Assert.AreEqual(workSiteType, model.WorkSiteType); + Assert.AreEqual(name, model.Name); + Assert.AreEqual(address, model.Address); + Assert.AreEqual(sca, model.SCA); + Assert.AreEqual(federalContractWorkPerformed, model.FederalContractWorkPerformed); + Assert.AreEqual(numEmployees, model.NumEmployees); + Assert.AreEqual(employees, model.Employees); + } + } +} diff --git a/DOL.WHD.Section14c.Test/Domain/ViewModels/AccountBindingModelsTests.cs b/DOL.WHD.Section14c.Test/Domain/ViewModels/AccountBindingModelsTests.cs index e2fd019f..e5abbf34 100644 --- a/DOL.WHD.Section14c.Test/Domain/ViewModels/AccountBindingModelsTests.cs +++ b/DOL.WHD.Section14c.Test/Domain/ViewModels/AccountBindingModelsTests.cs @@ -27,12 +27,14 @@ public void ChangePasswordBindingModel_PublicProperties() [TestMethod] public void RegisterBindingModel_PublicProperties() { + var uri = new Uri("http://www.gsa.gov"); var obj = new RegisterViewModel { Email = "email", ConfirmPassword = "confirmpassword", Password = "password", EIN = "ein", + EmailVerificationUrl = uri, ReCaptchaResponse = "recaptchresponse" }; @@ -40,6 +42,7 @@ public void RegisterBindingModel_PublicProperties() Assert.AreEqual("confirmpassword", obj.ConfirmPassword); Assert.AreEqual("password", obj.Password); Assert.AreEqual("ein", obj.EIN); + Assert.AreEqual(uri, obj.EmailVerificationUrl); Assert.AreEqual("recaptchresponse", obj.ReCaptchaResponse); }