Ejemplo n.º 1
0
        public async Task PostDeveloper_CorrectDeveloperWithCorrectValuesAndZeroIdSetted_CreatedAtActionResultWithGeneratedId()
        {
            // Arrange
            const int idToSet = 0;

            InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList());

            Developer developerToCreate = new Developer()
            {
                Name    = "NewDevelope",
                Website = "NewWebsite",
                ID      = idToSet
            };

            // Act
            using (var context = new GameReviewsContext(options))
            {
                DevelopersController developersController = new DevelopersController(context);
                var result = (await developersController.PostDeveloper(developerToCreate)).Result;

                // Assert
                Assert.True(developerToCreate.ID != idToSet);
                Assert.IsType <CreatedAtActionResult>(result);
            }
        }
Ejemplo n.º 2
0
        public async Task ShouldReturnOkBothServices()
        {
            IOptions <AppSettingsModel> settings = Options.Create(TestHelper.GetApplicationConfiguration());

            var httpClientFactoryMock = await TestHelper.GetMockHttpClientFactoryAsync(settings);

            var dataSource = new JSONDataSource(settings);

            var genericService = new GenericService(dataSource);

            var developersService = new DevelopersService(dataSource, httpClientFactoryMock, settings);

            var controller = new DevelopersController(genericService, developersService);

            var data = await controller.GetAllAsync();

            Assert.NotEmpty(data);

            data = await controller.GetSkilledAsync();

            Assert.NotEmpty(data);

            foreach (var dev in data)
            {
                Assert.True(dev.Skills.Count() >= 1);

                Assert.Contains(dev.Skills, s => s.Level >= 8);

                Assert.True(dev.Skills.Select(s => s.Type).Distinct().Count() == 1);
            }
        }
Ejemplo n.º 3
0
        public async Task PutDeveloper_ExistingIdCorrectDeveloperWithWebsiteChanged_NoContentResult()
        {
            // Arrange
            const int developerId = 3;

            InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList());

            Developer developerToUpdate = GetFakeList().Where(d => d.ID == developerId).FirstOrDefault(),
            // Should use ICopyable interface here
                      expectedDeveloper = GetFakeList().Where(d => d.ID == developerId).FirstOrDefault();

            // Act
            using (var context = new GameReviewsContext(options))
            {
                developerToUpdate.Website = "newWebsite";
                expectedDeveloper.Website = "newWebsite";

                DevelopersController developersController = new DevelopersController(context);
                var result = (await developersController.PutDeveloper(developerId, developerToUpdate));

                Developer actualDeveloper = await context.Developers.Where(d => d.ID == developerId).FirstOrDefaultAsync();

                // Assert
                Assert.True(AreEqual(expectedDeveloper, actualDeveloper));
                Assert.IsType <NoContentResult>(result);
            }
        }
        public void Setup()
        {
            _developersRepoMock = new Mock <IDevelopersRepository>();
            _controller         = new DevelopersController(_developersRepoMock.Object);

            _listOfDirectoryBindingModels = new List <DeveloperDirectoryBindingModel>
            {
                new DeveloperDirectoryBindingModel
                {
                    EmailAddress  = "*****@*****.**",
                    CategoryId    = 1,
                    GithubId      = "http://github.com/@malso",
                    Name          = "Daniel Smith",
                    TwitterHandle = "http://twitter.com/@pas"
                },
                new DeveloperDirectoryBindingModel
                {
                    EmailAddress  = "*****@*****.**",
                    CategoryId    = 2,
                    GithubId      = "http://github.com/@malso",
                    Name          = "Felix Adas",
                    TwitterHandle = "http://twitter.com/@pas"
                },
                new DeveloperDirectoryBindingModel
                {
                    EmailAddress  = "*****@*****.**",
                    CategoryId    = 1,
                    GithubId      = "http://github.com/ioasmalso",
                    Name          = "Samuel Jones",
                    TwitterHandle = "http://twitter.com/aspas"
                }
            };
        }
Ejemplo n.º 5
0
        public IntegrationTestsDevelopers()
        {
            var options = new DbContextOptionsBuilder <GameDatabaseDbContext>()
                          .UseSqlServer("Server=(localdb)\\MSSQLLocalDB;Database=GameDatabase;Trusted_Connection=True;MultipleActiveResultSets=true")
                          .EnableSensitiveDataLogging()
                          .Options;

            developersController = new DevelopersController(new GameDatabaseDbContext(options: options), new DeveloperService(new BusinessLogicDevelopers(new DeveloperRepository(new GameDatabaseDbContext(options: options)))));
        }
        public void DeleteTest()
        {
            // Arrange
            DevelopersController controller = new DevelopersController();

            // Act
            var result = controller.Delete(0);

            // Assert
            Assert.IsNotNull(result);
        }
        public void EditTest1()
        {
            // Arrange
            DevelopersController controller = new DevelopersController();

            // Act
            var result = controller.Edit(1);

            // Assert
            Assert.IsNotNull(result);
        }
        public void CreateTest1()
        {
            // Arrange
            DevelopersController controller = new DevelopersController();

            // Act
            var result = controller.Create();

            // Assert
            Assert.IsNotNull(result);
        }
        public void IndexTest()
        {
            // Arrange
            DevelopersController controller = new DevelopersController();

            // Act
            var result = controller.Index();

            // Assert
            Assert.IsNotNull(result);
        }
Ejemplo n.º 10
0
        public async Task GetDeveloper_NonexistentZeroId_NotFoundResult()
        {
            // Arrange
            const int developerId = 0;

            InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList());

            // Act
            using (var context = new GameReviewsContext(options))
            {
                DevelopersController developersController = new DevelopersController(context);
                var result = (await developersController.GetDeveloper(developerId)).Result;

                // Assert
                Assert.IsType <NotFoundResult>(result);
            }
        }
Ejemplo n.º 11
0
        public async Task DeleteDeveloper_NegativeId_NotFoundResult()
        {
            // Arrange
            const int developerIdToDelete = -10;

            InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList());
            Developer expectedDeveloper = GetFakeList().Where(d => d.ID == developerIdToDelete).FirstOrDefault();

            // Act
            using (var context = new GameReviewsContext(options))
            {
                DevelopersController developersController = new DevelopersController(context);
                var actionResult = (await developersController.DeleteDeveloper(developerIdToDelete));
                var result       = actionResult.Result;

                // Assert
                Assert.IsType <NotFoundResult>(result);
            }
        }
Ejemplo n.º 12
0
        public async Task GetDeveloper_ExistingId_TaskActionResultContainsDeveloper()
        {
            // Arrange
            const int developerId = 3;

            Developer expectedDeveloper = GetFakeList().Where(d => d.ID == developerId).FirstOrDefault();

            InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList());

            // Act
            using (var context = new GameReviewsContext(options))
            {
                DevelopersController developersController = new DevelopersController(context);
                var          actionResult = (await developersController.GetDeveloper(developerId));
                Developer    developer    = actionResult.Value;
                ActionResult result       = actionResult.Result;

                // Assert
                Assert.True(AreEqual(expectedDeveloper, developer));
                Assert.IsNotType <NotFoundResult>(result);
            }
        }
Ejemplo n.º 13
0
        public async Task PostDeveloper_CorrectDeveloperWithCorrectValuesAndIdNotSet_CreatedAtActionResult()
        {
            // Arrange
            InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList());

            Developer developerToCreate = new Developer()
            {
                Name    = "NewDevelope",
                Website = "NewWebsite"
            };

            // Act
            using (var context = new GameReviewsContext(options))
            {
                DevelopersController developersController = new DevelopersController(context);
                var result = (await developersController.PostDeveloper(developerToCreate)).Result;

                // Assert
                Assert.True(context.Developers.Contains(developerToCreate));
                Assert.IsType <CreatedAtActionResult>(result);
            }
        }
Ejemplo n.º 14
0
        public async Task GetDevelopers_Void_TaskActionResultContainsIEnumerableOfDeveloper()
        {
            // Arrange
            List <Developer> expectedData = GetFakeList();

            InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList());

            // Act
            using (var context = new GameReviewsContext(options))
            {
                DevelopersController    developersController = new DevelopersController(context);
                IEnumerable <Developer> developers           = (await developersController.GetDevelopers()).Value;

                // Assert
                Assert.Equal(expectedData.Count, developers.Count());

                for (int i = 0; i < expectedData.Count; ++i)
                {
                    Assert.True(AreEqual(expectedData[i], developers.ElementAt(i)));
                }
            }
        }
Ejemplo n.º 15
0
        public async Task PutDeveloper_ExistingIdCorrectDeveloperWithIdChangedNegative_BadRequestResult()
        {
            // Arrange
            const int developerId = 3, idChanged = -1;

            InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList());

            Developer developerToUpdate = GetFakeList().Where(d => d.ID == developerId).FirstOrDefault();

            // Act
            using (var context = new GameReviewsContext(options))
            {
                developerToUpdate.ID = idChanged;

                DevelopersController developersController = new DevelopersController(context);
                var result = (await developersController.PutDeveloper(developerId, developerToUpdate));

                Developer actualDeveloper = await context.Developers.Where(d => d.ID == developerId).FirstOrDefaultAsync();

                // Assert
                Assert.IsType <BadRequestResult>(result);
            }
        }
Ejemplo n.º 16
0
        public async Task PostDeveloper_CorrectDeveloperWithCorrectValuesAndNegativeIdSetted_BadRequestResult()
        {
            // Arrange
            const int idToSet = -1;

            InitializeInmemoryDatabase(out DbContextOptions <GameReviewsContext> options, GetFakeList());

            Developer developerToCreate = new Developer()
            {
                Name    = "NewDevelope",
                Website = "NewWebsite",
                ID      = idToSet
            };

            // Act
            using (var context = new GameReviewsContext(options))
            {
                DevelopersController developersController = new DevelopersController(context);
                var result = (await developersController.PostDeveloper(developerToCreate)).Result;

                // Assert
                Assert.IsType <BadRequestResult>(result);
            }
        }