Feature: Dealer Service Get a list of dealers when searching code or name. Update dealers Scenario: Search for Dealer - Code - find multiple dealers Given the dealer table looks like | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 1234 | 4535434333 | | S11 | ANTHONY AUTO GROUP | 5678 | 7535434333 | | H21 | HEISER CHEVROLET CADILLAC OF WEST BEND | 1111 | 9535434333 | When I search for dealers with search string 'S1' Then dealers returned should be | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 1234 | 4535434333 | | S11 | ANTHONY AUTO GROUP | 5678 | 7535434333 | Scenario: Search for Dealer - Code - no dealers returned Given the dealer table looks like | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 1234 | 4535434333 | | S11 | ANTHONY AUTO GROUP | 5678 | 7535434333 | | H21 | HEISER CHEVROLET CADILLAC OF WEST BEND | 1111 | 9535434333 | When I search for dealers with search string 'A1' Then dealers returned should be | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | Scenario: Search for Dealer - Name - find multiple dealers Given the dealer table looks like | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 1234 | 4535434333 | | S11 | ANTHONY AUTO GROUP OF WEST BEND | 5678 | 7535434333 | | H21 | HEISER CHEVROLET CADILLAC OF WEST BEND | 1111 | 9535434333 | When I search for dealers with search string 'WEST' Then dealers returned should be | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | | S11 | ANTHONY AUTO GROUP OF WEST BEND | 5678 | 7535434333 | | H21 | HEISER CHEVROLET CADILLAC OF WEST BEND | 1111 | 9535434333 | Scenario: Search for Dealer - Name - no dealers returned Given the dealer table looks like | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 1234 | 4535434333 | | S11 | ANTHONY AUTO GROUP | 5678 | 7535434333 | | H21 | HEISER CHEVROLET CADILLAC OF WEST BEND | 1111 | 9535434333 | When I search for dealers with search string 'A1' Then dealers returned should be | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | Scenario: Search for Dealer - Code and name - find multiple dealers Given the dealer table looks like | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 1234 | 4535434333 | | A1 | ANTHONY AUTO GROUP OF WEST BEND S1 | 9234 | 3535434333 | | H21 | HEISER CHEVROLET CADILLAC OF WEST BEND | 1111 | 9535434333 | When I search for dealers with search string 'S1' Then dealers returned should be | Dealer Code | Name | DealerOrganizationNumber | DealerAccountNumber | | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 1234 | 4535434333 | | A1 | ANTHONY AUTO GROUP OF WEST BEND S1 | 9234 | 3535434333 | Scenario: Update dealers from loans - add dealer that doesn't exist Given a list of loans with dealers that look like | LoanId | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1 | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434333 | And the dealer table looks like |Dealer Organization Number | Dealer Code | Name | Dealer Account Number | When I update the dealers from the loans Then the dealer table now looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434333 | Scenario: Update dealers from loans - add dealer with blank org number Given a list of loans with dealers that look like | LoanId | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1 | | | | | And the dealer table looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434333 | When I update the dealers from the loans Then the dealer table now looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434333 | | | | | | Scenario: Update dealers from loans - update name and account number Given a list of loans with dealers that look like | LoanId | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1 | 1234 | S1 | SUBURBAN MOTORS HD | 4535434334 | And the dealer table looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | When I update the dealers from the loans Then the dealer table now looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HD | 4535434334 | Scenario: Update dealers from loans - DO update dealer code Given a list of loans with dealers that look like | LoanId | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1 | 1234 | S11 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | And the dealer table looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | When I update the dealers from the loans Then the dealer table now looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S11 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | Scenario: Update dealers from loans - only take updates from the first loan with that dealer Given a list of loans with dealers that look like | LoanId | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1 | 1234 | S1 | SUBURBAN MOTORS HD | 4535434334 | | 1 | 1234 | S1 | BEST SUBURBAN MOTORS HD | 4535434335 | And the dealer table looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | When I update the dealers from the loans Then the dealer table now looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HD | 4535434334 | Scenario: Update dealers from loans - a null dealer code doesn't get pulled in Given a list of loans with dealers that look like | LoanId | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1 | 1234 | | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | And the dealer table looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | When I update the dealers from the loans Then the dealer table now looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | Scenario: Update dealers from loans - a null dealer name doesn't get pulled in Given a list of loans with dealers that look like | LoanId | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1 | 1234 | S1 | | 4535434334 | And the dealer table looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | When I update the dealers from the loans Then the dealer table now looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | Scenario: Update dealers from loans - a null dealer account number doesn't get pulled in Given a list of loans with dealers that look like | LoanId | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1 | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | | And the dealer table looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 | When I update the dealers from the loans Then the dealer table now looks like | Dealer Organization Number | Dealer Code | Name | Dealer Account Number | | 1234 | S1 | SUBURBAN MOTORS HARLEY DAVIDSON | 4535434334 |