public async Task ChangeShopManager_Success() { //adhere var initialManager = ProductAssemblyShop.Manager; //arrange var command = new ChangeShopManager { ShopId = ProductAssemblyShop.Id, NewManagerId = UserWithPermissions.Id, InitiatorId = GlobalAdmin.Id }; var handler = new ChangeShopManagerHandler(EntityRepository, EventTransmitter); //act await handler.HandleAsync(command); //assert Assert.That(ProductAssemblyShop.Manager, Is.Not.EqualTo(initialManager)); Assert.That(ProductAssemblyShop.Manager, Is.EqualTo(UserWithPermissions)); var events = GetRecordedEvents <ShopManagerChanged>(); Assert.That(events.Count, Is.EqualTo(1)); Assert.That(events[0].Trigger, Is.EqualTo(Trigger.Changed)); Assert.That(events[0].Entity, Is.EqualTo(ProductAssemblyShop)); Assert.That(events[0].Dismissed, Is.EqualTo(initialManager)); Assert.That(events[0].RaisedBy, Is.EqualTo(command.InitiatorId)); //annul ProductAssemblyShop.Manager = initialManager; }
public void ChangeShopManager_FailFor_TheSameUserBeingAssigned() { //arrange var command = new ChangeShopManager { ShopId = ProductAssemblyShop.Id, NewManagerId = ManagerOfProductAssemblyShop.Id, InitiatorId = GlobalAdmin.Id }; var handler = new ChangeShopManagerHandler(EntityRepository, EventTransmitter); //assert () => act var ex = Assert.ThrowsAsync <DomainException>(async() => await handler.HandleAsync(command)); Assert.That(ex.Message, Is.EqualTo(SameManagerAssigned(ManagerOfProductAssemblyShop))); Assert.That(GetRecordedEvents <DomainEvent <Shop> >(), Is.Empty); }