Esempio n. 1
0
        public void CartManger_Create_Order_Test()
        {
            Song[] songs = new Song[] { new Song()
                                        {
                                            SongId = 1, NameSong = "Test1"
                                        },
                                        new Song()
                                        {
                                            SongId = 2, NameSong = "Test2"
                                        },
                                        new Song()
                                        {
                                            SongId = 3, NameSong = "Test3"
                                        },
                                        new Song()
                                        {
                                            SongId = 4, NameSong = "Test4"
                                        } };

            List <CartItem> mySession = new List <CartItem>()
            {
                new CartItem()
                {
                    Song = songs[0], Quantity = 1
                },
                new CartItem()
                {
                    Song = songs[1], Quantity = 1
                },
                new CartItem()
                {
                    Song = songs[2], Quantity = 1
                },
                new CartItem()
                {
                    Song = songs[3], Quantity = 1
                }
            };

            List <Order> myOrders  = new List <Order>();
            Order        fakeOrder = new Order()
            {
                Name = "Test1", OrderId = 1
            };
            Mock <ISessionManager> mockSession    = new Mock <ISessionManager>();
            Mock <ISongRepository> mockRepository = new Mock <ISongRepository>();

            mockSession.Setup(x => x.Get <List <CartItem> >(It.IsAny <string>())).Returns(mySession);

            mockRepository.Setup(x => x.AddOrder(It.IsAny <Order>())).Callback((Order s) => myOrders.Add(s));
            mockRepository.Setup(x => x.OrdersWithSongOrderedAndSongIncluded).Returns(myOrders);


            CartManager target = new CartManager(mockSession.Object, mockRepository.Object);
            var         result = target.CreatedOrder(fakeOrder);

            Assert.IsInstanceOfType(result.SongOrdered, typeof(List <OrderPosition>));
            Assert.AreEqual(4, result.SongOrdered.Count);
        }