Example #1
0
        public async Task CreateGamerWithNameAsync_GivenTicketAndName_ExpectGamerCreated()
        {
            //Arrange
            var agnikai = new AgniKai {
                Ticket = "Ticket"
            };
            var mockDatabase = Substitute.For <IDatabaseRepository>();

            mockDatabase.GetAgniKaiByTicketAsync(Arg.Any <string>()).Returns(Task.FromResult(agnikai));
            var gamerRepo = new GamerRepository(mockDatabase);

            //Act
            await gamerRepo.CreateGamerWithNameAsync("Ticket", "Gamer-1");

            var gamer = agnikai.GetGamerByName("Gamer-1");

            //Assert
            await mockDatabase.Received(1).GetAgniKaiByTicketAsync("Ticket");

            Assert.IsInstanceOf <AI>(gamer);
        }