Esempio n. 1
0
        [Test] // behaviour test
        public void Create_When_entity_is_created_Then_it_makes_calls_to_repository_and_unit_of_work()
        {
            // Arrange
            var airhostessDTOToCreate = new AirhostessDTO()
            {
                FirstName = "Airhostess1",
                LastName  = "Airhostess1",
                BirthDate = new DateTime(1970, 10, 1),
                CrewId    = 1
            };

            var airhostessRepositoryFake = A.Fake <IAirhostessRepository>();

            var unitOfWorkFake = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWorkFake.Set <Airhostess>()).Returns(airhostessRepositoryFake);

            var airhostessService = new AirhostessService(unitOfWorkFake, AlwaysValidValidator);

            // Act
            var result = airhostessService.Create(airhostessDTOToCreate);

            // Assert. Just behaviour
            A.CallTo(() => airhostessRepositoryFake.Create(A <Airhostess> ._)).MustHaveHappenedOnceExactly();
            A.CallTo(() => unitOfWorkFake.Set <Airhostess>()).MustHaveHappenedOnceExactly();
            A.CallTo(() => unitOfWorkFake.SaveChanges()).MustHaveHappenedOnceExactly();
        }
Esempio n. 2
0
        [Test] // behaviour test
        public void Create_When_entity_is_invalid_Then_it_makes_no_calls_to_repository_and_unit_of_work()
        {
            // Arrange
            var airhostessDTOToCreate = new AirhostessDTO()
            {
                FirstName = "",
                LastName  = "Airhostess2",
                BirthDate = new DateTime(1970, 10, 1),
                CrewId    = 2
            };

            var airhostessRepositoryFake = A.Fake <IAirhostessRepository>();

            var unitOfWorkFake = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWorkFake.Set <Airhostess>()).Returns(airhostessRepositoryFake);

            var airhostessService = new AirhostessService(unitOfWorkFake, AlwaysInValidValidator);

            // Act + Assert
            var exception = Assert.Throws <BadRequestException>(() => airhostessService.Create(airhostessDTOToCreate));

            // Assert. Just behaviour
            A.CallTo(() => airhostessRepositoryFake.Create(A <Airhostess> ._)).MustNotHaveHappened();
            A.CallTo(() => unitOfWorkFake.AirhostessRepository).MustNotHaveHappened();
            A.CallTo(() => unitOfWorkFake.Set <Airhostess>()).MustNotHaveHappened();
            A.CallTo(() => unitOfWorkFake.SaveChanges()).MustNotHaveHappened();
        }
Esempio n. 3
0
        public void Create_When_entity_is_created_Then_new_entity_creates_in_db()
        {
            // Arrange
            var newEntity = new AirhostessDTO
            {
                FirstName = "Airhostess1",
                LastName  = "Airhostess1",
                BirthDate = new DateTime(1970, 1, 12),
                CrewId    = 1
            };

            var service = new AirhostessService(UnitOfWork, AlwaysValidValidator);

            // Act
            var createdEntity = service.Create(newEntity);

            // Assert
            var fromDbEntity = AirportDbContext.Airhostess.FirstOrDefault(x => x.Id == createdEntity.Id);

            Assert.NotNull(fromDbEntity);
            Assert.AreEqual(newEntity.FirstName, fromDbEntity.FirstName);
            Assert.AreEqual(newEntity.LastName, fromDbEntity.LastName);
            Assert.AreEqual(newEntity.BirthDate, fromDbEntity.BirthDate);
            Assert.AreEqual(newEntity.CrewId, fromDbEntity.CrewId);
        }
Esempio n. 4
0
        public void Create_When_entity_is_created_Then_new_airhostess_with_new_id_is_returned()
        {
            // Arrange
            var airhostessMock = new Airhostess()
            {
                Id        = 1,
                FirstName = "Airhostess1",
                LastName  = "Airhostess1",
                BirthDate = new DateTime(1970, 10, 1),
                CrewId    = 1,
                Crew      = null
            };

            var airhostessDTOToCreate = new AirhostessDTO()
            {
                FirstName = "Airhostess1",
                LastName  = "Airhostess1",
                BirthDate = new DateTime(1970, 10, 1),
                CrewId    = 1
            };

            var expectedAirhostessDTO = new AirhostessDTO()
            {
                Id        = 1,
                FirstName = "Airhostess1",
                LastName  = "Airhostess1",
                BirthDate = new DateTime(1970, 10, 1),
                CrewId    = 1
            };
            var airhostessRepositoryFake = A.Fake <IAirhostessRepository>();

            A.CallTo(() => airhostessRepositoryFake.Create(A <Airhostess> ._)).Returns(airhostessMock);

            var unitOfWorkFake = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWorkFake.Set <Airhostess>()).Returns(airhostessRepositoryFake);

            var airhostessService = new AirhostessService(unitOfWorkFake, AlwaysValidValidator);

            // Act
            var result = airhostessService.Create(airhostessDTOToCreate);

            // Assert
            Assert.AreEqual(expectedAirhostessDTO.Id, result.Id);
            Assert.AreEqual(expectedAirhostessDTO.FirstName, result.FirstName);
            Assert.AreEqual(expectedAirhostessDTO.LastName, result.LastName);
            Assert.AreEqual(expectedAirhostessDTO.BirthDate, result.BirthDate);
            Assert.AreEqual(expectedAirhostessDTO.CrewId, result.CrewId);
        }
Esempio n. 5
0
        public void Create_When_entity_is_invalid_Then_bad_request_exception_is_thrown()
        {
            // Arrange
            var airhostessMock = new Airhostess()
            {
                Id        = 2,
                FirstName = "Airhostess2",
                LastName  = "Airhostess2",
                BirthDate = new DateTime(1970, 10, 1),
                CrewId    = 2,
                Crew      = null
            };

            var airhostessDTOToCreate = new AirhostessDTO()
            {
                FirstName = "",
                LastName  = "Airhostess2",
                BirthDate = new DateTime(1970, 10, 1),
                CrewId    = 2
            };

            var airhostessRepositoryFake = A.Fake <IAirhostessRepository>();

            A.CallTo(() => airhostessRepositoryFake.Create(A <Airhostess> ._)).Returns(airhostessMock);

            var unitOfWorkFake = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWorkFake.Set <Airhostess>()).Returns(airhostessRepositoryFake);

            var airhostessService = new AirhostessService(unitOfWorkFake, AlwaysInValidValidator);

            // Act + Assert
            var exception = Assert.Throws <BadRequestException>(() => airhostessService.Create(airhostessDTOToCreate), "");

            Assert.AreEqual(exception.Message, "Is Invalid");
        }