예제 #1
0
        public async Task RemoveOne()
        {
            using var mocker = AutoMock.GetStrict();

            await using var handler = mocker.Create <RemoveItemFromCartEventHandler>();
            const string oldKey = "oneKey";
            var          state  = new CartState
            {
                Items = new Dictionary <string, int>
                {
                    { oldKey, 100 }
                }
            };
            var evt = new RemoveItemFromCartEvent
            {
                SkuId = oldKey,
                Count = 10
            };
            await handler.HandleEvent(state, evt, default);

            state.Items.Count.Should().Be(1);
            var(key, value) = state.Items.Single();
            key.Should().Be(oldKey);
            value.Should().Be(90);
        }
예제 #2
0
        public async Task RemoveKeyNotFoundAtFirstTime()
        {
            using var mocker = AutoMock.GetStrict();

            await using var handler = mocker.Create <RemoveItemFromCartEventHandler>();
            var state = new CartState();
            var evt   = new RemoveItemFromCartEvent
            {
                SkuId = "skuId1",
                Count = 10
            };
            await handler.HandleEvent(state, evt, default);

            state.Items.Should().BeNull();
        }