summaryrefslogtreecommitdiffstats
path: root/build/integration/features/avatar.feature
diff options
context:
space:
mode:
Diffstat (limited to 'build/integration/features/avatar.feature')
-rw-r--r--build/integration/features/avatar.feature135
1 files changed, 135 insertions, 0 deletions
diff --git a/build/integration/features/avatar.feature b/build/integration/features/avatar.feature
new file mode 100644
index 00000000000..8580471ef55
--- /dev/null
+++ b/build/integration/features/avatar.feature
@@ -0,0 +1,135 @@
+Feature: avatar
+
+ Background:
+ Given user "user0" exists
+
+ Scenario: get default user avatar
+ When user "user0" gets avatar for user "user0"
+ Then The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 0 |
+ And last avatar is a square of size 128
+ And last avatar is not a single color
+
+ Scenario: get default user avatar as an anonymous user
+ When user "anonymous" gets avatar for user "user0"
+ Then The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 0 |
+ And last avatar is a square of size 128
+ And last avatar is not a single color
+
+
+
+ Scenario: get temporary user avatar before cropping it
+ Given Logging in using web as "user0"
+ And logged in user posts temporary avatar from file "data/green-square-256.png"
+ When logged in user gets temporary avatar
+ Then The following headers should be set
+ | Content-Type | image/png |
+ # "last avatar" also includes the last temporary avatar
+ And last avatar is a square of size 256
+ And last avatar is a single "#00FF00" color
+
+ Scenario: get user avatar before cropping it
+ Given Logging in using web as "user0"
+ And logged in user posts temporary avatar from file "data/green-square-256.png"
+ # Avatar needs to be cropped to finish setting it even if it is squared
+ When user "user0" gets avatar for user "user0"
+ Then The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 0 |
+ And last avatar is a square of size 128
+ And last avatar is not a single color
+
+
+
+ Scenario: set user avatar from file
+ Given Logging in using web as "user0"
+ When logged in user posts temporary avatar from file "data/coloured-pattern.png"
+ And logged in user crops temporary avatar
+ | x | 384 |
+ | y | 256 |
+ | w | 128 |
+ | h | 128 |
+ Then logged in user gets temporary avatar with 404
+ And user "user0" gets avatar for user "user0"
+ And The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 1 |
+ And last avatar is a square of size 128
+ And last avatar is a single "#FF0000" color
+ And user "anonymous" gets avatar for user "user0"
+ And The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 1 |
+ And last avatar is a square of size 128
+ And last avatar is a single "#FF0000" color
+
+ Scenario: set user avatar from internal path
+ Given user "user0" uploads file "data/coloured-pattern.png" to "/internal-coloured-pattern.png"
+ And Logging in using web as "user0"
+ When logged in user posts temporary avatar from internal path "internal-coloured-pattern.png"
+ And logged in user crops temporary avatar
+ | x | 704 |
+ | y | 320 |
+ | w | 64 |
+ | h | 64 |
+ Then logged in user gets temporary avatar with 404
+ And user "user0" gets avatar for user "user0" with size "64"
+ And The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 1 |
+ And last avatar is a square of size 64
+ And last avatar is a single "#00FF00" color
+ And user "anonymous" gets avatar for user "user0" with size "64"
+ And The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 1 |
+ And last avatar is a square of size 64
+ And last avatar is a single "#00FF00" color
+
+ Scenario: cropped user avatar needs to be squared
+ Given Logging in using web as "user0"
+ And logged in user posts temporary avatar from file "data/coloured-pattern.png"
+ When logged in user crops temporary avatar with 400
+ | x | 384 |
+ | y | 256 |
+ | w | 192 |
+ | h | 128 |
+
+
+
+ Scenario: delete user avatar
+ Given Logging in using web as "user0"
+ And logged in user posts temporary avatar from file "data/coloured-pattern.png"
+ And logged in user crops temporary avatar
+ | x | 384 |
+ | y | 256 |
+ | w | 128 |
+ | h | 128 |
+ And user "user0" gets avatar for user "user0"
+ And The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 1 |
+ And last avatar is a square of size 128
+ And last avatar is a single "#FF0000" color
+ And user "anonymous" gets avatar for user "user0"
+ And The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 1 |
+ And last avatar is a square of size 128
+ And last avatar is a single "#FF0000" color
+ When logged in user deletes the user avatar
+ Then user "user0" gets avatar for user "user0"
+ And The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 0 |
+ And last avatar is a square of size 128
+ And last avatar is not a single color
+ And user "anonymous" gets avatar for user "user0"
+ And The following headers should be set
+ | Content-Type | image/png |
+ | X-NC-IsCustomAvatar | 0 |
+ And last avatar is a square of size 128
+ And last avatar is not a single color