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())); }
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); }
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); }