@@ -70,6 +70,77 @@ describe('Upload Track', () => {
70
70
71
71
cy . findByRole ( 'button' , { name : / v i e w t r a c k p a g e / i } ) . click ( )
72
72
73
+ cy . findByRole ( 'heading' , { name : / t r a c k / i, level : 1 } ) . should ( 'exist' )
74
+ } )
75
+ it . only ( 'should upload a track with a subgenre' , ( ) => {
76
+ const base64Entropy = Buffer . from ( user . entropy ) . toString ( 'base64' )
77
+ cy . visit ( `trending?login=${ base64Entropy } ` )
78
+ cy . findByText ( user . name , { timeout : 20000 } ) . should ( 'exist' )
79
+
80
+ cy . findByRole ( 'button' , { name : / u p l o a d t r a c k / i } ) . click ( )
81
+
82
+ cy . findByRole ( 'heading' , { name : / u p l o a d t r a c k s / i, level : 1 } ) . should (
83
+ 'exist'
84
+ )
85
+
86
+ cy . findByTestId ( 'upload-dropzone' ) . attachFile ( 'track.mp3' , {
87
+ subjectType : 'drag-n-drop'
88
+ } )
89
+
90
+ cy . findByRole ( 'button' , { name : / c o n t i n u e / i } ) . click ( )
91
+
92
+ cy . findByRole ( 'combobox' , { name : / p i c k a g e n r e / i } ) . click ( )
93
+ cy . get ( '.rc-virtual-list-holder' ) . scrollTo ( 'bottom' , {
94
+ ensureScrollable : false
95
+ } )
96
+ cy . findByRole ( 'option' , { name : / e l e c t r o n i c - d u b s t e p / i } ) . click ( )
97
+
98
+ // Add track artwork
99
+ cy . findByRole ( 'button' , { name : / c h a n g e a r t w o r k / i } ) . click ( )
100
+
101
+ cy . findByTestId ( 'upload-dropzone' ) . attachFile ( 'track-artwork.jpeg' , {
102
+ subjectType : 'drag-n-drop'
103
+ } )
104
+
105
+ cy . findByRole ( 'button' , { name : / c l o s e p o p u p / } )
106
+
107
+ cy . findByRole ( 'button' , { name : / c o n t i n u e / i } ) . click ( )
108
+
109
+ cy . findByRole ( 'main' ) . within ( ( ) => {
110
+ cy . findByRole ( 'progressbar' ) . should ( 'have.attr' , 'aria-valuenow' , '0' )
111
+
112
+ cy . waitUntil ( ( ) => {
113
+ return cy . findByRole ( 'progressbar' ) . then ( ( progressbar ) => {
114
+ return Number ( progressbar . attr ( 'aria-valuenow' ) ) > 0
115
+ } )
116
+ } )
117
+
118
+ cy . waitUntil ( ( ) => {
119
+ return cy . findByRole ( 'progressbar' ) . then ( ( progressbar ) => {
120
+ return Number ( progressbar . attr ( 'aria-valuenow' ) ) > 50
121
+ } )
122
+ } )
123
+
124
+ cy . waitUntil (
125
+ ( ) => {
126
+ return cy . findByRole ( 'progressbar' ) . then ( ( progressbar ) => {
127
+ return Number ( progressbar . attr ( 'aria-valuenow' ) ) === 100
128
+ } )
129
+ } ,
130
+ { timeout : 10000 }
131
+ )
132
+ } )
133
+
134
+ cy . findByText ( / p r o c e s s i n g .../ i) . should ( 'exist' )
135
+
136
+ cy . findByRole ( 'heading' , {
137
+ name : / u p l o a d c o m p l e t e / i,
138
+ level : 1 ,
139
+ timeout : 40000
140
+ } ) . should ( 'exist' )
141
+
142
+ cy . findByRole ( 'button' , { name : / v i e w t r a c k p a g e / i } ) . click ( )
143
+
73
144
cy . findByRole ( 'heading' , { name : / t r a c k / i, level : 1 } ) . should ( 'exist' )
74
145
} )
75
146
} )
0 commit comments