public async void TransferItemsSuccess() { var fromUser = new DatabaseModel.User { Id = 1 }; var toSteamId = "toSteamId"; var itemsToTransfer = new List <AssetAndDescriptionId> { new AssetAndDescriptionId { AssetId = "assetId1", DescriptionId = 1 }, new AssetAndDescriptionId { AssetId = "assetId3", DescriptionId = 1 }, new AssetAndDescriptionId { AssetId = "assetId4", DescriptionId = 5 }, new AssetAndDescriptionId { AssetId = "assetId8", DescriptionId = 5 }, }; A.CallTo(() => _fakedItemService.GetAvalibleItemsForUser(A <DatabaseModel.User> ._)).Returns(new List <Item> { new Item { AssetId = "assetId1", DescriptionId = 1, Id = 1 }, new Item { AssetId = "assetId2", DescriptionId = 1, Id = 2 }, new Item { AssetId = "assetId3", DescriptionId = 1, Id = 3 }, new Item { AssetId = "assetId4", DescriptionId = 5, Id = 4 }, new Item { AssetId = "assetId8", DescriptionId = 5, Id = 5 }, }); A.CallTo(() => _fakedUserRepoService.FindAsync(A <string> ._)).Returns(new DatabaseModel.User { Id = 1 }); var itemTransferService = new ItemTransferService(_fakedRepoService, _fakedItemService); var res = await itemTransferService.TransferItemsAsync(fromUser, toSteamId, itemsToTransfer); Assert.True(res); A.CallTo(() => _fakedRepoService.ItemRepoService.ChangeOwner( A <List <int> > .That.Matches(i => i.Contains(1) && i.Contains(3) && i.Contains(4) && i.Contains(5)), A <DatabaseModel.User> .That.Matches(u => u.Id == 1)) ).MustHaveHappened(); }
public async void TransferItemsFailsDueToItemsIsNotTheOwserts() { var fromUser = new DatabaseModel.User { Id = 1 }; var toSteamId = "toSteamId"; var itemsToTransfer = new List <AssetAndDescriptionId> { new AssetAndDescriptionId { AssetId = "assetId1", DescriptionId = 1 }, new AssetAndDescriptionId { AssetId = "assetId3", DescriptionId = 1 }, new AssetAndDescriptionId { AssetId = "assetId4", DescriptionId = 5 }, new AssetAndDescriptionId { AssetId = "assetId8", DescriptionId = 5 }, }; var fakedItemService = A.Fake <IItemService>(); A.CallTo(() => fakedItemService.GetAvalibleItemsForUser(A <DatabaseModel.User> ._)).Returns(new List <Item> { new Item { AssetId = "assetId2", DescriptionId = 1, Id = 2 }, new Item { AssetId = "assetId3", DescriptionId = 1, Id = 3 }, new Item { AssetId = "assetId4", DescriptionId = 5, Id = 4 }, new Item { AssetId = "assetId8", DescriptionId = 5, Id = 5 }, }); var itemTransferService = new ItemTransferService(_fakedRepoService, fakedItemService); var res = await itemTransferService.TransferItemsAsync(fromUser, toSteamId, itemsToTransfer); Assert.False(res); A.CallTo(() => _fakedRepoService.ItemRepoService.ChangeOwner(A <List <int> > ._, A <DatabaseModel.User> ._)).MustNotHaveHappened(); }