This will change the _currentUser of every test. The crux of my question is precisely how to avoid that and instead be able to assign a User to each test separately when needed, or be able to rerun a test as a user that has different roles as shown in a tiny code snippet in my initial question.
[Fact] public async Task Test() { //As User.... }
What you are showing me will simply change the default test user which isn't what I want to do.