private async Task <TestHubConnection> BuildTestHubConnectionWithoutAssignedWaiter <TEvent>( HireWaiter hireAssignedWaiterCommand, HireWaiter hireUnassignedWaiterCommand, AddTable addTableCommand, Register registerCommand) { await HireWaiterWithTable(hireAssignedWaiterCommand, addTableCommand); await _fixture.SendAsync(hireUnassignedWaiterCommand); await _fixture.SendAsync(registerCommand); var assignWaiterToAccountCommand = new AssignWaiterToAccount { AccountId = registerCommand.Id, // Purposefully assigning another waiter to the account, that is not assigned to the table WaiterId = hireUnassignedWaiterCommand.Id }; await _fixture.SendAsync(assignWaiterToAccountCommand); var accessToken = (await _authHelper .Login(registerCommand.Email, registerCommand.Password)) .TokenString; var testConnection = BuildTestConnection <TEvent>(accessToken); return(testConnection); }
public async Task CanConnectAsBarista(Register registerCommand, HireBarista hireBaristaCommand, Guid orderId, MenuItem[] menuItems) { // Arrange await _authTestsHelper.Register(registerCommand); await _fixture.SendAsync(hireBaristaCommand); var assignBaristaToAccountCommand = new AssignBaristaToAccount { AccountId = registerCommand.Id, BaristaId = hireBaristaCommand.Id }; await _fixture.SendAsync(assignBaristaToAccountCommand); var accessToken = (await _authTestsHelper.Login(registerCommand.Email, registerCommand.Password)).TokenString; var testConnection = BuildTestConnection(accessToken); await testConnection.OpenAsync(); // Act await _toGoOrdersHelper.CreateConfirmedOrder(orderId, menuItems); // Assert await testConnection .VerifyMessageReceived <OrderConfirmed>( e => e.Order.Id == orderId && e.Order.OrderedItems.Count == menuItems.Length, Times.Once()); }
public async Task CanConnectAsManager(Register registerCommand, HireManager hireManagerCommand, HireWaiter hireWaiterCommand) { // Arrange await _authTestsHelper.Register(registerCommand); await _fixture.SendAsync(hireManagerCommand); var assignManagerToAccountCommand = new AssignManagerToAccount { AccountId = registerCommand.Id, ManagerId = hireManagerCommand.Id }; await _fixture.SendAsync(assignManagerToAccountCommand); var accessToken = (await _authTestsHelper.Login(registerCommand.Email, registerCommand.Password)).TokenString; var testConnection = BuildTestConnection(accessToken); await testConnection.OpenAsync(); // Act await _fixture.SendAsync(hireWaiterCommand); // Assert await testConnection .VerifyMessageReceived <WaiterHired>( e => e.Waiter.Id == hireWaiterCommand.Id && e.Waiter.ShortName == hireWaiterCommand.ShortName, Times.Once()); }
private async Task <string> SetupUserWithClaims(Fixture fixture, IEnumerable <Claim> withClaims) { var registerCommand = fixture .Create <Register>(); await _authHelper.Register(registerCommand); if (withClaims != null) { await _authHelper.AddClaimsAsync(registerCommand.Id, withClaims); } var token = (await _authHelper .Login(registerCommand.Email, registerCommand.Password)) .TokenString; return(token); }