public async Task TestCreateOrganisationValidInput()
        {
            //Arrange
            var organisationDto = new OrganisationDto
            {
                Name            = "Test1",
                Address         = "55 Symonds",
                Description     = "UoA Accomodation",
                Status          = OrganisationStatus.Active,
                Classifications = new List <string> {
                    "Classficiation", "Classification1"
                }
            };

            _mockOrganisationRepository.Setup(x => x.InsertAsync(It.IsAny <Organisation>())).Returns(Task.FromResult(1));

            //Act
            ActionResult <CreatedDto> response = await _organisationsController.CreateOrganisation(organisationDto);

            //Assert
            Assert.IsInstanceOf <CreatedResult>(response.Result);
            CreatedResult createdResult = response.Result as CreatedResult;

            Assert.AreEqual(201, createdResult.StatusCode);

            CreatedDto value = createdResult.Value.As <CreatedDto>();

            Assert.IsNotNull(value);
            Assert.AreEqual(0, value.Id);

            _mockOrganisationRepository.Verify(x => x.InsertAsync(It.IsAny <Organisation>()), Times.Once);
        }
예제 #2
0
        public async Task TestAddValidEmailUser()
        {
            // arrange
            var userDto = new UserDto {
                Email = "*****@*****.**", UserRole = UserRole.User
            };

            _mockUserRepository
            .Setup(x => x.InsertAsync(It.IsAny <User>()))
            .Returns(Task.FromResult(1));

            _mockUserRepository.Setup(x => x.FindByAsync(It.IsAny <Expression <System.Func <Capisso.Entities.User, bool> > >())).Returns(Task.FromResult(Enumerable.Empty <User>()));

            // act
            ActionResult <CreatedDto> response = await _usersController.AddUser(userDto);

            // assert
            Assert.IsInstanceOf <CreatedResult>(response.Result);
            CreatedResult createdResult = response.Result as CreatedResult;

            Assert.AreEqual(201, createdResult.StatusCode);

            CreatedDto value = createdResult.Value.As <CreatedDto>();

            Assert.IsNotNull(value);
            Assert.AreEqual(0, value.Id);

            _mockUserRepository.Verify(x => x.InsertAsync(It.IsAny <User>()), Times.Once);
        }
        public async Task TestCreateCourseValidInput()
        {
            //Arrange
            var courseDto = new CourseDto
            {
                Name = "Course1",
                Code = "Code1"
            };

            _mockCourseRepository.Setup(x => x.InsertAsync(It.IsAny <Course>())).Returns(Task.FromResult(1));

            //Act
            ActionResult <CreatedDto> response = await _coursesController.CreateCourse(courseDto);

            //Assert
            Assert.IsInstanceOf <CreatedResult>(response.Result);
            CreatedResult createdResult = response.Result as CreatedResult;

            Assert.AreEqual(201, createdResult.StatusCode);

            CreatedDto value = createdResult.Value.As <CreatedDto>();

            Assert.IsNotNull(value);
            Assert.AreEqual(0, value.Id);

            _mockCourseRepository.Verify(x => x.InsertAsync(It.IsAny <Course>()), Times.Once);
        }
예제 #4
0
        public async Task TestAddValidUserCollection()
        {
            // arrange
            var userDtos = new UserDto[] {
                new UserDto {
                    Email = "*****@*****.**", UserRole = UserRole.User
                },
                new UserDto {
                    Email = "*****@*****.**", UserRole = UserRole.User
                },
                new UserDto {
                    Email = "*****@*****.**", UserRole = UserRole.Admin
                },
                new UserDto {
                    Email = "*****@*****.**", UserRole = UserRole.User
                }
            };

            var existingUsers = new User[] {
                new User {
                    Email = "*****@*****.**", UserRole = UserRole.User
                },
                new User {
                    Email = "*****@*****.**", UserRole = UserRole.User
                },
                new User {
                    Email = "*****@*****.**", UserRole = UserRole.User
                }
            };

            _mockUserRepository
            .Setup(x => x.InsertManyAsync(It.IsAny <IEnumerable <User> >()))
            .Returns(Task.FromResult(1));

            _mockUserRepository.Setup(x => x.GetAllAsync()).Returns(Task.FromResult(existingUsers.AsEnumerable()));

            // act
            ActionResult <CreatedDto> response = await _usersController.AddUserCollection(userDtos);

            // assert
            Assert.IsInstanceOf <CreatedResult>(response.Result);
            CreatedResult createdResult = response.Result as CreatedResult;

            Assert.AreEqual(201, createdResult.StatusCode);

            CreatedDto value = createdResult.Value.As <CreatedDto>();

            _mockUserRepository.Verify(x => x.InsertManyAsync(It.IsAny <IEnumerable <User> >()), Times.Once);
        }
        public async Task TestCreateProjectValidInput()
        {
            var projectDto = new ProjectDto
            {
                Title          = "Title1",
                Notes          = "Note1",
                Outcome        = "Outcome1",
                StartDate      = new DateTime(),
                EndDate        = new DateTime(),
                CourseIds      = Enumerable.Empty <int>(),
                OrganisationId = 1,
                ContactId      = 1
            };

            var organisation = new Organisation
            {
                Id = 1,
            };

            Contact contact = new Contact
            {
                Id             = 1,
                Name           = "Test Name",
                Email          = "*****@*****.**",
                PhoneNumber    = "111",
                OrganisationId = 1,
                Projects       = new List <Project>
                {
                    new Project {
                        Id             = 1,
                        Title          = "HCI Extreme",
                        Notes          = "Notes Test",
                        Outcome        = "Outcome Test",
                        StartDate      = new DateTime(),
                        EndDate        = new DateTime(),
                        ProjectCourses = Enumerable.Empty <ProjectCourse>().ToList(),
                        Organisation   = organisation
                    }
                }
            };

            _mockProjectRepository.Setup(x => x.InsertAsync(It.IsAny <Project>())).Returns(Task.FromResult(1));
            _mockOrganisationRepository.Setup(x => x.GetByIdAsync(1)).ReturnsAsync(organisation);
            _mockContactRepository.Setup(x => x.GetByIdAsync(1)).Returns(Task.FromResult(contact));

            // Act
            ActionResult <CreatedDto> response = await _projectsController.CreateProject(projectDto);

            // Assert
            Assert.IsInstanceOf <CreatedResult>(response.Result);
            CreatedResult createdResult = response.Result as CreatedResult;

            Assert.AreEqual(201, createdResult.StatusCode);

            CreatedDto value = createdResult.Value.As <CreatedDto>();

            Assert.IsNotNull(value);
            Assert.AreEqual(0, value.Id);

            _mockProjectRepository.Verify(x => x.InsertAsync(It.IsAny <Project>()), Times.Once);
        }