public async Task Events_Multiplefr8AccountsAssociatedWithSameExternalAccountId_ShouldCheckPlansForAllUsers() { //Arrange var fr8AccountMock = new Mock <IFr8Account>(); fr8AccountMock.Setup(x => x.GetSystemUser()) .Returns(() => new Fr8AccountDO() { UserName = "******", EmailAddress = new EmailAddressDO() }); ObjectFactory.Container.Inject(typeof(IFr8Account), fr8AccountMock.Object); var externalAccountId = "*****@*****.**"; var plan1 = FixtureData.TestPlanWithSubscribeEvent(FixtureData.TestDockyardAccount1()); var plan2 = FixtureData.TestPlanWithSubscribeEvent(FixtureData.TestDeveloperAccount(), 23); FixtureData.AddAuthorizationToken(FixtureData.TestDockyardAccount1(), externalAccountId); FixtureData.AddAuthorizationToken(FixtureData.TestDeveloperAccount(), externalAccountId); var planNode = new PlanNodeMock(plan1, plan2); var activity = new ActivityMock(ObjectFactory.GetInstance <IActivity>(), planNode.PlanNodes); ObjectFactory.Container.Inject(typeof(IPlanNode), planNode); ObjectFactory.Container.Inject(typeof(IActivity), activity); //Act var eventService = new Event(); var curCrateStandardEventReport = ObjectFactory.GetInstance <ICrateManager>().FromDto(FixtureData.CrateDTOForEvents(externalAccountId)); await eventService.ProcessInboundEvents(curCrateStandardEventReport); Assert.AreEqual(2, activity.Processed); }