Esempio n. 1
0
        public async Task UpdateMaterial_NoAccess()
        {
            Context
            .Setup(x => x.GetCurrentUserAsync())
            .ReturnsAsync(ModelsCreationHelper.CreateAdmin);

            await Assert.ThrowsAsync <EducationSystemPublicException>
                (() => ServiceMaterial.UpdateMaterialAsync(999, new Material()));

            Context
            .Setup(x => x.GetCurrentUserAsync())
            .ReturnsAsync(ModelsCreationHelper.CreateStudent);

            await Assert.ThrowsAsync <EducationSystemPublicException>
                (() => ServiceMaterial.UpdateMaterialAsync(999, new Material()));

            Context
            .Setup(x => x.GetCurrentUserAsync())
            .ReturnsAsync(ModelsCreationHelper.CreateLecturer);

            RepositoryMaterial
            .Setup(x => x.FindFirstAsync(It.IsAny <ISpecification <DatabaseMaterial> >()))
            .ReturnsAsync(ModelsCreationHelper.CreateDatabaseMaterial(ownerId: 1));

            await Assert.ThrowsAsync <EducationSystemPublicException>
                (() => ServiceMaterial.UpdateMaterialAsync(999, new Material()));
        }
Esempio n. 2
0
        public async Task GetMaterial()
        {
            RepositoryMaterial
            .Setup(x => x.FindFirstAsync(It.IsAny <ISpecification <DatabaseMaterial> >()))
            .ReturnsAsync(ModelsCreationHelper.CreateDatabaseMaterial(ownerId: 2));

            Context
            .Setup(x => x.GetCurrentUserAsync())
            .ReturnsAsync(ModelsCreationHelper.CreateAdmin);

            var material = await ServiceMaterial.GetMaterialAsync(999);

            Assert.Equal(2, material.OwnerId);

            Context
            .Setup(x => x.GetCurrentUserAsync())
            .ReturnsAsync(ModelsCreationHelper.CreateStudent);

            material = await ServiceMaterial.GetMaterialAsync(999);

            Assert.Equal(2, material.OwnerId);

            Context
            .Setup(x => x.GetCurrentUserAsync())
            .ReturnsAsync(ModelsCreationHelper.CreateLecturer);

            material = await ServiceMaterial.GetMaterialAsync(999);

            Assert.Equal(2, material.OwnerId);
        }
Esempio n. 3
0
        public async Task DeleteMaterial_Admin()
        {
            var material  = ModelsCreationHelper.CreateDatabaseMaterial(ownerId: 2);
            var materials = new List <DatabaseMaterial> {
                material
            };

            Context
            .Setup(x => x.GetCurrentUserAsync())
            .ReturnsAsync(ModelsCreationHelper.CreateAdmin);

            RepositoryMaterial
            .Setup(x => x.FindFirstAsync(It.IsAny <ISpecification <DatabaseMaterial> >()))
            .ReturnsAsync(material);

            RepositoryMaterial
            .Setup(x => x.RemoveAsync(material, true))
            .Callback(() => materials.Remove(material))
            .Returns(Task.CompletedTask);

            await ServiceMaterial.DeleteMaterialAsync(999);

            Assert.Empty(materials);
        }