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