Skip to content

Commit

Permalink
Merge branch 'integrationTesting' into B-18896-Redefine-order-audit-t…
Browse files Browse the repository at this point in the history
…able-ignored-columns-INT-2
  • Loading branch information
traskowskycaci committed Feb 23, 2024
2 parents 2aef1d9 + c83ab04 commit e2db294
Show file tree
Hide file tree
Showing 165 changed files with 1,214 additions and 3,051 deletions.
1 change: 1 addition & 0 deletions migrations/app/migrations_manifest.txt
Original file line number Diff line number Diff line change
Expand Up @@ -900,3 +900,4 @@
20240212150834_20240212_disable_homesafe_stg_cert.up.sql
20240214213247_updateTransportationOfficesGbloc.up.sql
20240222144140_redefine_order_audit_table_grade_col.up.sql
20240223200739_updateDutyLocationsZip.up.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
update duty_locations set name = 'PPPO West Point/ USMA - USA 10996' where id ='9f7a1c83-26ad-4ba3-b30f-1a2e62f250f6';
update duty_location_names set name = 'PPPO West Point/ USMA - USA 10996' where duty_location_id ='9f7a1c83-26ad-4ba3-b30f-1a2e62f250f6';


update duty_locations set name = 'PPPO USAG Miami, FL - USA 33177' where id = '0f420f7b-72ac-43cf-bc93-f24d44ba8f93';
update duty_location_names set name ='PPPO USAG Miami, FL - USA 33177' where duty_location_id = '0f420f7b-72ac-43cf-bc93-f24d44ba8f93';
4 changes: 2 additions & 2 deletions pkg/edi/invoice/generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ type InvoiceHeader struct {
PaymentRequestNumber edisegment.N9
ContractCode edisegment.N9
ServiceMemberName edisegment.N9
ServiceMemberRank edisegment.N9
OrderPayGrade edisegment.N9
ServiceMemberBranch edisegment.N9
ServiceMemberDodID edisegment.N9
MoveCode edisegment.N9
Expand Down Expand Up @@ -92,7 +92,7 @@ func (ih *InvoiceHeader) NonEmptySegments() []edisegment.Segment {
&ih.PaymentRequestNumber,
&ih.ContractCode,
&ih.ServiceMemberName,
&ih.ServiceMemberRank,
&ih.OrderPayGrade,
&ih.ServiceMemberBranch,
&ih.ServiceMemberDodID,
&ih.MoveCode,
Expand Down
2 changes: 1 addition & 1 deletion pkg/edi/invoice/generator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ func MakeValidEdi() Invoice858C {
ReferenceIdentificationQualifier: "1W",
ReferenceIdentification: "Leo, Spacemen",
},
ServiceMemberRank: edisegment.N9{
OrderPayGrade: edisegment.N9{
ReferenceIdentificationQualifier: "ML",
ReferenceIdentification: "E_1",
},
Expand Down
8 changes: 5 additions & 3 deletions pkg/factory/entitlement_factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package factory
import (
"github.com/gobuffalo/pop/v6"

"github.com/transcom/mymove/pkg/gen/internalmessages"
"github.com/transcom/mymove/pkg/models"
"github.com/transcom/mymove/pkg/testdatagen"
)
Expand All @@ -27,15 +28,16 @@ func BuildEntitlement(db *pop.Connection, customs []Customization, traits []Trai
// At this point, Entitlement may exist or be blank. Depending on if customization was provided.

// Find an Orders customization if available - to extract the grade
var grade *string
var grade *internalmessages.OrderPayGrade
defaultGrade := models.ServiceMemberGradeE1
var order models.Order
result := findValidCustomization(customs, Order)
if result != nil {
order = result.Model.(models.Order)
grade = order.Grade // extract grade
}
if grade == nil || *grade == "" {
grade = models.StringPointer("E_1")
grade = &defaultGrade
}

dependents := 0
Expand All @@ -58,7 +60,7 @@ func BuildEntitlement(db *pop.Connection, customs []Customization, traits []Trai
OrganizationalClothingAndIndividualEquipment: ocie,
}
// Set default calculated values
entitlement.SetWeightAllotment(*grade)
entitlement.SetWeightAllotment(string(*grade))
entitlement.DBAuthorizedWeight = entitlement.AuthorizedWeight()

// Overwrite default values with those from custom Entitlement
Expand Down
4 changes: 3 additions & 1 deletion pkg/factory/entitlement_factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package factory
import (
"github.com/gofrs/uuid"

"github.com/transcom/mymove/pkg/gen/internalmessages"
"github.com/transcom/mymove/pkg/models"
)

Expand Down Expand Up @@ -133,9 +134,10 @@ func (suite *FactorySuite) TestBuildEntitlement() {
// Now DBAuthorizedWeight should be appropriate for O_9 grade

// FUNCTION UNDER TEST
grade := internalmessages.OrderPayGrade(models.ServiceMemberGradeO9)
entitlement := BuildEntitlement(suite.DB(), []Customization{
{Model: models.Order{
Grade: models.StringPointer("O_9"),
Grade: &grade,
}},
}, nil)

Expand Down
17 changes: 16 additions & 1 deletion pkg/factory/order_factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ func buildOrderWithBuildType(db *pop.Connection, customs []Customization, traits
defaultOrdersNumber := "ORDER3"
defaultTACNumber := "F8E1"
defaultDepartmentIndicator := "AIR_AND_SPACE_FORCE"
defaultGrade := "E_1"
defaultGrade := models.ServiceMemberGradeE1
defaultHasDependents := false
defaultSpouseHasProGear := false
defaultOrdersType := internalmessages.OrdersTypePERMANENTCHANGEOFSTATION
Expand Down Expand Up @@ -304,3 +304,18 @@ func BuildOrder(db *pop.Connection, customs []Customization, traits []Trait) mod
func BuildOrderWithoutDefaults(db *pop.Connection, customs []Customization, traits []Trait) models.Order {
return buildOrderWithBuildType(db, customs, traits, orderBuildWithoutDefaults)
}

// ------------------------
// TRAITS
// ------------------------

// GetTraitHasDependents returns a customization to enable dependents on an order
func GetTraitHasDependents() []Customization {
return []Customization{
{
Model: models.Order{
HasDependents: true,
},
},
}
}
16 changes: 5 additions & 11 deletions pkg/factory/order_factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func (suite *FactorySuite) TestBuildOrder() {
suite.Equal(defaultOrdersNumber, *order.OrdersNumber)
suite.Equal(defaultTACNumber, *order.TAC)
suite.Equal(defaultDepartmentIndicator, *order.DepartmentIndicator)
suite.Equal(defaultGrade, *order.Grade)
suite.Equal(defaultGrade, string(*order.Grade))
suite.Equal(defaultHasDependents, order.HasDependents)
suite.Equal(defaultSpouseHasProGear, order.SpouseHasProGear)
suite.Equal(defaultOrdersType, order.OrdersType)
Expand All @@ -52,16 +52,12 @@ func (suite *FactorySuite) TestBuildOrder() {
// extended service members have backup contacts
suite.False(order.ServiceMemberID.IsNil())
suite.False(order.ServiceMember.ID.IsNil())
suite.False(order.ServiceMember.DutyLocationID.IsNil())
suite.False(order.OriginDutyLocationID.IsNil())
suite.NotEmpty(order.ServiceMember.BackupContacts)
serviceMemberCountInDB, err := suite.DB().Count(models.ServiceMember{})
suite.NoError(err)
suite.Equal(1, serviceMemberCountInDB)

// uses the same duty location name for service member and
// orders OriginDutyLocation
suite.Equal(order.ServiceMember.DutyLocation.Name, order.OriginDutyLocation.Name)

// uses the default orders NewDutyLocation
suite.Equal(order.NewDutyLocation.Name, "Fort Eisenhower, GA 30813")

Expand Down Expand Up @@ -139,9 +135,7 @@ func (suite *FactorySuite) TestBuildOrder() {
order := BuildOrder(suite.DB(), customs, nil)

suite.Equal(originDutyLocation.Name, order.OriginDutyLocation.Name)
suite.Equal(originDutyLocation.Name, order.ServiceMember.DutyLocation.Name)
suite.Equal(originDutyLocationTOName, order.OriginDutyLocation.TransportationOffice.Name)
suite.Equal(originDutyLocationTOName, order.ServiceMember.DutyLocation.TransportationOffice.Name)
suite.Equal(*serviceMember.FirstName, *order.ServiceMember.FirstName)
suite.Equal(*serviceMember.LastName, *order.ServiceMember.LastName)
suite.Equal(uploadedOrders.ID, order.UploadedOrdersID)
Expand Down Expand Up @@ -187,7 +181,7 @@ func (suite *FactorySuite) TestBuildOrder() {
suite.Equal(defaultOrdersNumber, *order.OrdersNumber)
suite.Equal(defaultTACNumber, *order.TAC)
suite.Equal(defaultDepartmentIndicator, *order.DepartmentIndicator)
suite.Equal(defaultGrade, *order.Grade)
suite.Equal(defaultGrade, string(*order.Grade))
suite.Equal(defaultHasDependents, order.HasDependents)
suite.Equal(defaultSpouseHasProGear, order.SpouseHasProGear)
suite.Equal(defaultOrdersType, order.OrdersType)
Expand All @@ -212,7 +206,7 @@ func (suite *FactorySuite) TestBuildOrder() {
suite.Nil(order.TAC)
suite.Nil(order.DepartmentIndicator)
suite.Nil(order.OrdersTypeDetail)
suite.Equal(defaultGrade, *order.Grade)
suite.Equal(defaultGrade, string(*order.Grade))
suite.Equal(defaultHasDependents, order.HasDependents)
suite.Equal(defaultSpouseHasProGear, order.SpouseHasProGear)
suite.Equal(defaultOrdersType, order.OrdersType)
Expand All @@ -233,7 +227,7 @@ func (suite *FactorySuite) TestBuildOrder() {
suite.Nil(order.TAC)
suite.Nil(order.DepartmentIndicator)
suite.Nil(order.OrdersTypeDetail)
suite.Equal(defaultGrade, *order.Grade)
suite.Equal(defaultGrade, string(*order.Grade))
suite.Equal(defaultHasDependents, order.HasDependents)
suite.Equal(defaultSpouseHasProGear, order.SpouseHasProGear)
suite.Equal(defaultOrdersType, order.OrdersType)
Expand Down
19 changes: 0 additions & 19 deletions pkg/factory/service_member_factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ func buildServiceMemberWithBuildType(db *pop.Connection, customs []Customization

email := "leo_spaceman_sm@example.com"
agency := models.AffiliationARMY
rank := models.ServiceMemberRankE1

// Create random edipi
randomEdipi := RandomEdipi()
Expand All @@ -74,7 +73,6 @@ func buildServiceMemberWithBuildType(db *pop.Connection, customs []Customization
PersonalEmail: &email,
ResidentialAddressID: &resAddress.ID,
ResidentialAddress: &resAddress,
Rank: &rank,
}

backupAddressResult := findValidCustomization(customs, Addresses.BackupMailingAddress)
Expand All @@ -88,15 +86,6 @@ func buildServiceMemberWithBuildType(db *pop.Connection, customs []Customization
serviceMember.BackupMailingAddress = &backupAddress
}

dutyLocationResult := findValidCustomization(customs, DutyLocation)
// Find/create the DutyLocation if customization is
// provided
if dutyLocationResult != nil {
dutyLocation := BuildDutyLocation(db, customs, traits)
serviceMember.DutyLocationID = &dutyLocation.ID
serviceMember.DutyLocation = dutyLocation
}

if buildType == serviceMemberBuildExtended {
serviceMember.EmailIsPreferred = models.BoolPointer(true)

Expand All @@ -107,14 +96,6 @@ func buildServiceMemberWithBuildType(db *pop.Connection, customs []Customization
serviceMember.BackupMailingAddressID = &backupAddress.ID
serviceMember.BackupMailingAddress = &backupAddress
}

// ensure extended service member has duty location,
// even if customization is not provided
if serviceMember.DutyLocationID == nil {
dutyLocation := FetchOrBuildCurrentDutyLocation(db)
serviceMember.DutyLocationID = &dutyLocation.ID
serviceMember.DutyLocation = dutyLocation
}
}

// Overwrite values with those from customizations
Expand Down
19 changes: 1 addition & 18 deletions pkg/factory/service_member_factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import (
func (suite *FactorySuite) TestBuildServiceMember() {
defaultEmail := "leo_spaceman_sm@example.com"
defaultAgency := models.AffiliationARMY
defaultRank := models.ServiceMemberRankE1
suite.Run("Successful creation of default ServiceMember", func() {
// Under test: BuildServiceMember
// Mocked: None
Expand All @@ -21,7 +20,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
FirstName: models.StringPointer("Leo"),
LastName: models.StringPointer("Spacemen"),
Telephone: models.StringPointer("212-123-4567"),
Rank: &defaultRank,
PersonalEmail: &defaultEmail,
Affiliation: &defaultAgency,
}
Expand All @@ -42,7 +40,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
// VALIDATE RESULTS
suite.Equal(defaultServiceMember.FirstName, serviceMember.FirstName)
suite.Equal(defaultServiceMember.LastName, serviceMember.LastName)
suite.Equal(defaultServiceMember.Rank, serviceMember.Rank)
suite.Equal(defaultServiceMember.PersonalEmail, serviceMember.PersonalEmail)
suite.Equal(defaultServiceMember.Telephone, serviceMember.Telephone)
suite.Equal(defaultServiceMember.Affiliation, serviceMember.Affiliation)
Expand All @@ -60,7 +57,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
// Set up: Create a Service Member and pass custom fields
// Expected outcome:serviceMember should be created with custom fields
// SETUP
customRank := models.ServiceMemberRankE3
customAffiliation := models.AffiliationAIRFORCE

customServiceMember := models.ServiceMember{
Expand All @@ -69,7 +65,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
Telephone: models.StringPointer("999-999-9999"),
SecondaryTelephone: models.StringPointer("123-555-9999"),
PersonalEmail: models.StringPointer("peyton@example.com"),
Rank: &customRank,
Edipi: models.StringPointer("1000011111"),
Affiliation: &customAffiliation,
Suffix: models.StringPointer("Random suffix string"),
Expand Down Expand Up @@ -98,7 +93,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
suite.Equal(customServiceMember.Telephone, serviceMember.Telephone)
suite.Equal(customServiceMember.SecondaryTelephone, serviceMember.SecondaryTelephone)
suite.Equal(customServiceMember.PersonalEmail, serviceMember.PersonalEmail)
suite.Equal(customServiceMember.Rank, serviceMember.Rank)
suite.Equal(customServiceMember.Edipi, serviceMember.Edipi)
suite.Equal(customServiceMember.Affiliation, serviceMember.Affiliation)
suite.Equal(customServiceMember.Suffix, serviceMember.Suffix)
Expand All @@ -118,7 +112,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
// Expected outcome:serviceMember should be created with custom residential address different from address attached backup mailing address

// SETUP
customRank := models.ServiceMemberRankE3
customAffiliation := models.AffiliationAIRFORCE

customResidentialAddress := models.Address{
Expand All @@ -135,7 +128,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
Telephone: models.StringPointer("999-999-9999"),
SecondaryTelephone: models.StringPointer("123-555-9999"),
PersonalEmail: models.StringPointer("peyton@example.com"),
Rank: &customRank,
Edipi: models.StringPointer("1000011111"),
Affiliation: &customAffiliation,
Suffix: models.StringPointer("Random suffix string"),
Expand All @@ -156,7 +148,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
suite.Equal(customServiceMember.Telephone, serviceMember.Telephone)
suite.Equal(customServiceMember.SecondaryTelephone, serviceMember.SecondaryTelephone)
suite.Equal(customServiceMember.PersonalEmail, serviceMember.PersonalEmail)
suite.Equal(customServiceMember.Rank, serviceMember.Rank)
suite.Equal(customServiceMember.Edipi, serviceMember.Edipi)
suite.Equal(customServiceMember.Affiliation, serviceMember.Affiliation)
suite.Equal(customServiceMember.Suffix, serviceMember.Suffix)
Expand Down Expand Up @@ -242,7 +233,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
// members and a backupContact should be created

// SETUP
customRank := models.ServiceMemberRankE3
customAffiliation := models.AffiliationAIRFORCE

customServiceMember := models.ServiceMember{
Expand All @@ -251,7 +241,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
Telephone: models.StringPointer("999-999-9999"),
SecondaryTelephone: models.StringPointer("123-555-9999"),
PersonalEmail: models.StringPointer("peyton@example.com"),
Rank: &customRank,
Edipi: models.StringPointer("1000011111"),
Affiliation: &customAffiliation,
Suffix: models.StringPointer("Random suffix string"),
Expand Down Expand Up @@ -288,7 +277,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
suite.Equal(customServiceMember.Telephone, serviceMember.Telephone)
suite.Equal(customServiceMember.SecondaryTelephone, serviceMember.SecondaryTelephone)
suite.Equal(customServiceMember.PersonalEmail, serviceMember.PersonalEmail)
suite.Equal(customServiceMember.Rank, serviceMember.Rank)
suite.Equal(customServiceMember.Edipi, serviceMember.Edipi)
suite.Equal(customServiceMember.Affiliation, serviceMember.Affiliation)
suite.Equal(customServiceMember.Suffix, serviceMember.Suffix)
Expand Down Expand Up @@ -328,10 +316,6 @@ func (suite *FactorySuite) TestBuildServiceMember() {
suite.Equal(customBackupAddress.PostalCode,
serviceMember.BackupMailingAddress.PostalCode)

ordersDutyLocation := FetchOrBuildCurrentDutyLocation(suite.DB())
suite.Equal(ordersDutyLocation.ID, serviceMember.DutyLocation.ID)
suite.Equal(ordersDutyLocation.Name, serviceMember.DutyLocation.Name)

// Check that backup contact was made and appended to service member
suite.Equal(1, len(serviceMember.BackupContacts))
suite.Equal(models.BackupContactPermissionEDIT, serviceMember.BackupContacts[0].Permission)
Expand All @@ -345,8 +329,7 @@ func (suite *FactorySuite) TestBuildServiceMember() {
precount, err := suite.DB().Count(&models.ServiceMember{})
suite.NoError(err)

serviceMember := BuildExtendedServiceMember(nil, nil, nil)
suite.Equal("Yuma AFB", serviceMember.DutyLocation.Name)
BuildExtendedServiceMember(nil, nil, nil)

count, err := suite.DB().Count(&models.ServiceMember{})
suite.Equal(precount, count)
Expand Down
3 changes: 0 additions & 3 deletions pkg/factory/shared_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,6 @@ func (suite *FactorySuite) TestNestedModelsCheck() {
testid := uuid.Must(uuid.NewV4())
edipi := RandomEdipi()
timestamp := time.Now()
rank := models.ServiceMemberRankE4
name := "Riley Baker"
phone := "555-777-9929"

Expand All @@ -344,7 +343,6 @@ func (suite *FactorySuite) TestNestedModelsCheck() {
UserID: testid,
Edipi: &edipi,
Affiliation: &navy,
Rank: &rank,
FirstName: &name,
MiddleName: &name,
LastName: &name,
Expand All @@ -356,7 +354,6 @@ func (suite *FactorySuite) TestNestedModelsCheck() {
EmailIsPreferred: models.BoolPointer(false),
ResidentialAddressID: &testid,
BackupMailingAddressID: &testid,
DutyLocationID: &testid,
},
Type: &ServiceMember,
}
Expand Down
Loading

0 comments on commit e2db294

Please sign in to comment.