It would bring my mind a lot of ease to have some somewhat reliable ent-to-end testing. This would ideally cover the extension itself, as well as WebLN interactions. Currently I'm looking at Cypress, but some challenges are presented with this:
Cypress doesn't implement the web extension APIs, so things like requesting permissions and the storage system won't work.
It will be prohibitively difficult to get a regtest lightning node to work in CI.
Some options for getting around these things:
Run a server that exposes the extension's options page through a port and visit that instead of chrome-extension://
Stub out the extension APIs using something like sinon-chrome.
Mock an lnd node as well. This would severely reduce the usefulness of this since tests wouldn't be an accurate representation of connecting to a real node.
It would bring my mind a lot of ease to have some somewhat reliable ent-to-end testing. This would ideally cover the extension itself, as well as WebLN interactions. Currently I'm looking at Cypress, but some challenges are presented with this:
Some options for getting around these things:
chrome-extension://
It looks like Metamask is also looking to implement something like this, so it'll be interesting to see how they tackle the problem.