One note here. When you extend your testing data, then this break quickly. Sometimes help FactoryGirl approach, where you have generators and say: I want ten random cards which have specific attribute I want to test and then test it and it sit nearby ( and it is also much DRY ).
Second approach is to have bricks of static data and construct it. So you can have here  something like `items = { 1 => UNCONFIGURED_ETH, 2 => UNCONFIGURED_ETH12 ...` But problem is that you have in this test too much cards so it is not easy to construct it in readable way. Maybe having specific test can help like can return list of devices for physical devices, next test for wifi, for bridge, for bonding and then test that try small mix. It can help to have tests more readable. ( readable tests are also important because nice tests can serve as documentation that is up to date ).